summaryrefslogtreecommitdiff
path: root/autoopts/ao_string_tokenize.3
diff options
context:
space:
mode:
Diffstat (limited to 'autoopts/ao_string_tokenize.3')
-rw-r--r--autoopts/ao_string_tokenize.386
1 files changed, 86 insertions, 0 deletions
diff --git a/autoopts/ao_string_tokenize.3 b/autoopts/ao_string_tokenize.3
new file mode 100644
index 0000000..5c3e6a2
--- /dev/null
+++ b/autoopts/ao_string_tokenize.3
@@ -0,0 +1,86 @@
+.TH ao_string_tokenize 3 2012-08-11 "" "Programmer's Manual"
+.\" DO NOT EDIT THIS FILE (ao_string_tokenize.3)
+.\"
+.\" It has been AutoGen-ed August 11, 2012 at 09:44:56 AM by AutoGen 5.16.2
+.\" From the definitions ./funcs.def
+.\" and the template file agman3.tpl
+.SH NAME
+ao_string_tokenize - tokenize an input string
+.sp 1
+.SH SYNOPSIS
+
+#include <\fIyour-opts.h\fP>
+.br
+cc [...] -o outfile infile.c -l\fBopts\fP [...]
+.sp 1
+token_list_t* \fBao_string_tokenize\fP(char const* \fIstring\fP);
+.sp 1
+.SH DESCRIPTION
+This function will convert one input string into a list of strings.
+The list of strings is derived by separating the input based on
+white space separation. However, if the input contains either single
+or double quote characters, then the text after that character up to
+a matching quote will become the string in the list.
+
+The returned pointer should be deallocated with \fBfree(3C)\fP when
+are done using the data. The data are placed in a single block of
+allocated memory. Do not deallocate individual token/strings.
+
+The structure pointed to will contain at least these two fields:
+.sp
+.IR "tkn_ct"
+The number of tokens found in the input string.
+.sp
+.IR "tok_list"
+An array of \fBtkn_ct + 1\fP pointers to substring tokens, with
+the last pointer set to NULL.
+.br
+
+There are two types of quoted strings: single quoted (\fB'\fP) and
+double quoted (\fB"\fP). Singly quoted strings are fairly raw in that
+escape characters (\fB\\\fP) are simply another character, except when
+preceding the following characters:
+.nf
+ \fB\\\fP double backslashes reduce to one
+ \fB'\fP incorporates the single quote into the string
+ \fB\n\fP suppresses both the backslash and newline character
+.fi
+
+Double quote strings are formed according to the rules of string
+constants in ANSI-C programs.
+.TP
+.IR string
+string to be tokenized
+.sp 1
+.SH RETURN VALUE
+pointer to a structure that lists each token
+.sp 1
+.SH ERRORS
+NULL is returned and \fBerrno\fP will be set to indicate the problem:
+.sp 1ize @bullet
+.sp 1
+\fBEINVAL\fP \- There was an unterminated quoted string.
+.sp 1
+\fBENOENT\fP \- The input string was empty.
+.sp 1
+\fBENOMEM\fP \- There is not enough memory.
+@end itemize
+.sp 1
+.SH EXAMPLES
+.nf
+.in +5
+.nf
+ #include <stdlib.h>
+ int ix;
+ token_list_t* ptl = ao_string_tokenize(some_string)
+ for (ix = 0; ix < ptl->tkn_ct; ix++)
+ do_something_with_tkn(ptl->tkn_list[ix]);
+ free(ptl);
+.fi
+Note that everything is freed with the one call to \fBfree(3C)\fP.
+.in -5
+.fi
+.SH SEE ALSO
+The \fIinfo\fP documentation for the -l\fIopts\fP library.
+.br
+configFileLoad(3), optionFileLoad(3), optionFindNextValue(3), optionFindValue(3), optionFree(3), optionGetValue(3), optionLoadLine(3), optionNextValue(3), optionOnlyUsage(3), optionProcess(3), optionRestore(3), optionSaveFile(3), optionSaveState(3), optionUnloadNested(3), optionVersion(3), pathfind(3), strequate(3), streqvcmp(3), streqvmap(3), strneqvcmp(3), strtransform(3),