blob: 2ffa24f432698ae3735e15ef5a54e2a44e912441 [file] [log] [blame]
nstrazcd87d682000-09-21 20:42:31 +00001#ifndef _SPLITSTR_H_
2#define _SPLITSTR_H_
3/*
4 * Synopsis
5 *
6 * const char **splitstr(const char *str, const char *separator, int *argcount)
7 *
8 * Description
9 * This function splits a string (str) into components that are separated by
10 * one or more of the characters in the (separator) string. An array of
11 * strings is returned, along with argcount being set to the number of strings
12 * found. Argcount can be NULL. There will always be a NULL element in the
13 * array after the last valid element. If an error occurs, NULL will be
14 * returned and argcount will be set to zero.
15 *
16 * To rid yourself of the memory allocated for splitstr(), pass the return
17 * value from splitstr() unmodified to splitstr_free():
18 *
19 * void splitstr_free( const char ** return_from_splitstr );
20 *
21 */
22const char **
23splitstr(const char *, const char *, int *);
24
25/*
26 * splitster_free( const char ** )
27 *
28 * This takes the return value from splitster() and free()s memory
29 * allocated by splitster. Assuming: ret=splitster(...), this
30 * requires that ret and *ret returned from splitster() have not
31 * been modified.
32 */
33void
34splitstr_free( const char ** );
35
36#endif