#pragma ident "%Z%%M% %I% %E% SMI"
/*
*/
/* Copyright (c) 2004-2005, Novell, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* * The copyright holder's name is not used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Miscellaneous functions for managing the string and integer lists
*/
#include <k5-int.h>
#include "kdb5_ldap_list.h"
/*
* Counts the number of entries in the given array of strings
*/
{
int i = 0;
return 0;
i++;
}
return i;
}
/*
* Counts the number of entries in the given array of integers
*/
{
int i = 0;
return 0;
i++;
}
return i;
}
/*
* Frees the entries in a given list and not the list pointer
*/
char **list;
{
return;
}
return;
}
/*
* Tokenize the given string based on the delimiter provided
* and return the result as a list
*/
char *buffer;
char *delimiter;
char **list;
{
int count = 0;
return EINVAL;
}
return ENOMEM;
goto cleanup;
}
}
if (str) {
}
if (retval)
return retval;
}
const void *m1;
const void *m2;
{
}
/*
* Modifies the destination list to contain or not to contain the
* entries present in the source list, depending on the mode
* (ADD or DELETE).
*/
char ***destlist;
const char **sourcelist;
int mode;
{
int found = 0;
return;
/* We need to add every entry present in the source list to
* the destination list */
if (mode == LIST_MODE_ADD) {
/* Traverse throught the end of destlist for appending */
; /* NULL statement */
}
/* Count the number of entries in the source list */
; /* NULL statement */
}
/* Reset the slist pointer to the start of source list */
slist = sourcelist;
/* Now append the source list to the existing destlist */
else
/* Leave the last entry for list terminator(=NULL) */
} else if (mode == LIST_MODE_DELETE) {
/* We need to delete every entry present in the source list
* from the destination list */
found = 0; /* value not found */
/* DN is case insensitive string */
found = 1;
/* Advance the rest of the entries by one */
}
break;
}
}
}
}
return;
}
/*
* Modifies the destination list to contain or not to contain the
* entries present in the source list, depending on the mode
* (ADD or DELETE). where the list is array of integers.
*/
int *destlist;
const int *sourcelist;
int mode;
{
int tcount = 0;
return 0;
/* We need to add every entry present in the source list to the
* destination list */
if (mode == LIST_MODE_ADD) {
/* Traverse throught the end of destlist for appending */
; /* NULL statement */
/* Count the number of entries in the source list */
; /* NULL statement */
/* Reset the slist pointer to the start of source list */
slist = sourcelist;
/* Now append the source list to the existing destlist */
else
/* Leave the last entry for list terminator(=NULL) */
*dlist = END_OF_LIST;
} else if (mode == LIST_MODE_DELETE) {
/* We need to delete every entry present in the source list from
* the destination list */
/* Advance the rest of the entries by one */
}
break;
}
}
}
/* count the number of entries */
tcount++;
}
}
return tcount;
}