Sorry, meant to attach something legible... Apache Portable Runtime - Main Page <index.html> - Related Pages <pages.html> - Modules <modules.html> - Namespaces <namespaces.html> - Data Structures <annotated.html> - Files <files.html> -
Functions <#func-members> C (POSIX locale) string functions String routines <group__apr__strings.html> Functions apr_array_header_t <structapr__array__header__t.html> * apr_cstr_split <group__apr__cstr.html#ga50b5f39a52d18f3211440602642b5702> (const char *input, const char *sep_chars, int chop_whitespace, apr_pool_t <group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb> *pool) void apr_cstr_split_append <group__apr__cstr.html#ga380343bfadb7332ece4c042701fa065a> ( apr_array_header_t <structapr__array__header__t.html> *array, const char *input, const char *sep_chars, int chop_whitespace, apr_pool_t <group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb> *pool) int apr_cstr_match_glob_list <group__apr__cstr.html#ga59052f471fdbe1456fe283f665395be2> (const char *str, const apr_array_header_t <structapr__array__header__t.html> *list) int apr_cstr_match_list <group__apr__cstr.html#ga5884f17dd18202b5dd4388c6664e794b> (const char *str, const apr_array_header_t <structapr__array__header__t.html> *list) char * apr_cstr_tokenize <group__apr__cstr.html#ga43296ec627eefd3d55de5cfb13cc8935> (const char *sep, char **str) int apr_cstr_count_newlines <group__apr__cstr.html#ga6d776750e0b201588e1c24501cd65f71> (const char *msg) char * apr_cstr_join <group__apr__cstr.html#ga876441d066aacb75b7320b80ca4d4d29> (const apr_array_header_t <structapr__array__header__t.html> *strings, const char *separator, apr_pool_t <group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb> *pool) int apr_cstr_casecmp <group__apr__cstr.html#ga07584e519301a67ff066c30be2785e44> (const char *str1, const char *str2) apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_strtoi64 <group__apr__cstr.html#ga701ca1217727de647676d41809b5ef90> (apr_int64_t *n, const char *str, apr_int64_t minval, apr_int64_t maxval, int base) apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoi64 <group__apr__cstr.html#gac22106194f17480bb9d18be39cfed1dd> (apr_int64_t *n, const char *str) apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoi <group__apr__cstr.html#gad363278febcb4e43ff0affe51a5c8c68> (int *n, const char *str) apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_strtoui64 <group__apr__cstr.html#ga6398304e57dfb85546234ba9b466ec76> (apr_uint64_t *n, const char *str, apr_uint64_t minval, apr_uint64_t maxval, int base) apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoui64 <group__apr__cstr.html#ga0439b516bc8fd258a9b2c7271fe8347d> (apr_uint64_t *n, const char *str) apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoui <group__apr__cstr.html#ga4c90f8722d90f833af3e003b9420090d> (unsigned int *n, const char *str) const char * apr_cstr_skip_prefix <group__apr__cstr.html#ga04e457538985940b16f8759076ca3068> (const char *str, const char *prefix) Detailed Description The apr_cstr_* functions provide traditional C char * string text handling, and notabilty they treat all text in the C (a.k.a. POSIX) locale using the minimal POSIX character set, represented in either ASCII or a corresponding EBCDIC subset. Character values outside of that set are treated as opaque bytes, and all multi-byte character sequences are handled as individual distinct octets. Multi-byte characters sequences whose octets fall in the ASCII range cause unexpected results, such as in the ISO-2022-JP code page where ASCII octets occur within both shift-state and multibyte sequences. In the case of the UTF-8 encoding, all multibyte characters all fall outside of the C/POSIX range of characters, so these functions are generally safe to use on UTF-8 strings. The programmer must be aware that each octet may not represent a distinct printable character in such encodings. The standard C99/POSIX string functions, rather than apr_cstr, should be used in all cases where the current locale and encoding of the text is significant. Function Documentation apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoi ( int * n, const char * str ) Parse the C string *str* into a 32 bit number, and return it in **n*. Assume that the number is represented in base 10. Raise an error if conversion fails (e.g. due to overflow). The behaviour otherwise is as described for apr_cstr_strtoi64() <group__apr__cstr.html#ga701ca1217727de647676d41809b5ef90>. SinceNew in 1.6. apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoi64 ( apr_int64_t * n, const char * str ) Parse the C string *str* into a 64 bit number, and return it in **n*. Assume that the number is represented in base 10. Raise an error if conversion fails (e.g. due to overflow). The behaviour otherwise is as described for apr_cstr_strtoi64() <group__apr__cstr.html#ga701ca1217727de647676d41809b5ef90>. SinceNew in 1.6. apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoui ( unsigned int * n, const char * str ) Parse the C string *str* into an unsigned 32 bit number, and return it in **n*. Assume that the number is represented in base 10. Raise an error if conversion fails (e.g. due to overflow). The behaviour otherwise is as described for apr_cstr_strtoui64() <group__apr__cstr.html#ga6398304e57dfb85546234ba9b466ec76>, including the upper limit of APR_INT64_MAX. SinceNew in 1.6. apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_atoui64 ( apr_uint64_t * n, const char * str ) Parse the C string *str* into an unsigned 64 bit number, and return it in **n*. Assume that the number is represented in base 10. Raise an error if conversion fails (e.g. due to overflow). The behaviour otherwise is as described for apr_cstr_strtoui64() <group__apr__cstr.html#ga6398304e57dfb85546234ba9b466ec76>, including the upper limit of APR_INT64_MAX. SinceNew in 1.6. int apr_cstr_casecmp ( const char * str1, const char * str2 ) Compare two strings *atr1* and *atr2*, treating case-equivalent unaccented Latin (ASCII subset) letters as equal. Returns in integer greater than, equal to, or less than 0, according to whether *str1* is considered greater than, equal to, or less than*str2*. SinceNew in 1.6. int apr_cstr_count_newlines ( const char * msg ) Return the number of line breaks in *msg*, allowing any kind of newline termination (CR, LF, CRLF, or LFCR), even inconsistent. SinceNew in 1.6. char* apr_cstr_join ( const apr_array_header_t <structapr__array__header__t.html> * strings, const char * separator, apr_pool_t <group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb> * pool ) Return a cstring which is the concatenation of *strings* (an array of char *) each followed by *separator* (that is, *separator* will also end the resulting string). Allocate the result in *pool*. If *strings* is empty, then return the empty string. SinceNew in 1.6. int apr_cstr_match_glob_list ( const char * str, const apr_array_header_t <structapr__array__header__t.html> * list ) Return TRUE iff *str* matches any of the elements of *list*, a list of zero or more glob patterns. int apr_cstr_match_list ( const char * str, const apr_array_header_t <structapr__array__header__t.html> * list ) Return TRUE iff *str* exactly matches any of the elements of *list*. Sincenew in 1.7 const char* apr_cstr_skip_prefix ( const char * str, const char * prefix ) Skip the common prefix *prefix* from the C string *str*, and return a pointer to the next character after the prefix. Return NULL if *str* does not start with *prefix*. SinceNew in 1.6. apr_array_header_t <structapr__array__header__t.html>* apr_cstr_split ( const char * input, const char * sep_chars, int chop_whitespace, apr_pool_t <group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb> * pool ) Divide *input* into substrings, interpreting any char from *sep* as a token separator. Return an array of copies of those substrings (plain const char*), allocating both the array and the copies in *pool*. None of the elements added to the array contain any of the characters in *sep_chars*, and none of the new elements are empty (thus, it is possible that the returned array will have length zero). If *chop_whitespace* is TRUE, then remove leading and trailing whitespace from the returned strings. void apr_cstr_split_append ( apr_array_header_t <structapr__array__header__t.html> * array, const char * input, const char * sep_chars, int chop_whitespace, apr_pool_t <group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb> * pool ) Like apr_cstr_split() <group__apr__cstr.html#ga50b5f39a52d18f3211440602642b5702>, but append to existing *array* instead of creating a new one. Allocate the copied substrings in *pool* (i.e., caller decides whether or not to pass *array->pool* as *pool*). apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_strtoi64 ( apr_int64_t * n, const char * str, apr_int64_t minval, apr_int64_t maxval, int base ) Parse the C string *str* into a 64 bit number, and return it in **n*. Assume that the number is represented in base *base*. Raise an error if conversion fails (e.g. due to overflow), or if the converted number is smaller than *minval* or larger than *maxval*. Leading whitespace in *str* is skipped in a locale-dependent way. After that, the string may contain an optional '+' (positive, default) or '-' (negative) character, followed by an optional '0x' prefix if *base* is 0 or 16, followed by numeric digits appropriate for the base. If there are any more characters after the numeric digits, an error is returned. If *base* is zero, then a leading '0x' or '0X' prefix means hexadecimal, else a leading '0' means octal (implemented, though not documented, in apr_strtoi64() <group__apr__strings.html#ga1da34829609e8976f498b235afd6cbe4> in APR 0.9.0 through 1.5.0), else use base ten. SinceNew in 1.6. apr_status_t <group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c> apr_cstr_strtoui64 ( apr_uint64_t * n, const char * str, apr_uint64_t minval, apr_uint64_t maxval, int base ) Parse the C string *str* into an unsigned 64 bit number, and return it in **n*. Assume that the number is represented in base *base*. Raise an error if conversion fails (e.g. due to overflow), or if the converted number is smaller than *minval* or larger than *maxval*. Leading whitespace in *str* is skipped in a locale-dependent way. After that, the string may contain an optional '+' (positive, default) or '-' (negative) character, followed by an optional '0x' prefix if *base* is 0 or 16, followed by numeric digits appropriate for the base. If there are any more characters after the numeric digits, an error is returned. If *base* is zero, then a leading '0x' or '0X' prefix means hexadecimal, else a leading '0' means octal (implemented, though not documented, in apr_strtoi64() <group__apr__strings.html#ga1da34829609e8976f498b235afd6cbe4> in APR 0.9.0 through 1.5.0), else use base ten. WarningThe implementation used since version 1.7 returns an error if the parsed number is greater than APR_INT64_MAX, even if it is not greater than *maxval*.SinceNew in 1.6. char* apr_cstr_tokenize ( const char * sep, char ** str ) Get the next token from **str* interpreting any char from *sep* as a token separator. Separators at the beginning of *str* will be skipped. Returns a pointer to the beginning of the first token in **str* or NULL if no token is left. Modifies *str* such that the next call will return the next token. NoteThe content of **str* may be modified by this function.SinceNew in 1.6. ------------------------------ Generated by [image: doxygen] <http://www.doxygen.org/index.html>1.8.10 On Tue, Jan 26, 2016 at 2:57 PM, William A Rowe Jr <wr...@rowe-clan.net> wrote: > On Thu, Jan 21, 2016 at 4:18 PM, William A Rowe Jr <wr...@rowe-clan.net> > wrote: > >> This is as far as I got on my last iteration, electing what appear >> to be 'normal string' handling functions that are part of svn. >> >> Based on apr's short-name preference, I had yet to redecorate >> these functions as apr_cstr_* functions, but that I will get to >> tomorrow. If you see something that doesn't fall into the normal >> string / general purpose criteria, feel free to holler before the first >> commit... >> > > This is what is going in shortly... we don't have an svn_boolean_t > so those become int's, while svn_error_t * becomes an apr_status_t. > > I'll proceed to commit this full set for scrutiny before digging through > for the various overlapping functions within apr and even across httpd. > > > >