Modules | |
snprintf implementations | |
Functions | |
int | apr_strnatcmp (char const *a, char const *b) |
int | apr_strnatcasecmp (char const *a, char const *b) |
char * | apr_pstrdup (apr_pool_t *p, const char *s) |
char * | apr_pstrmemdup (apr_pool_t *p, const char *s, apr_size_t n) |
char * | apr_pstrndup (apr_pool_t *p, const char *s, apr_size_t n) |
void * | apr_pmemdup (apr_pool_t *p, const void *m, apr_size_t n) |
char * | apr_pstrcat (apr_pool_t *p,...) |
char * | apr_pstrcatv (apr_pool_t *p, const struct iovec *vec, apr_size_t nvec, apr_size_t *nbytes) |
char * | apr_pvsprintf (apr_pool_t *p, const char *fmt, va_list ap) |
char * | apr_psprintf (apr_pool_t *p, const char *fmt,...) |
char * | apr_cpystrn (char *dst, const char *src, apr_size_t dst_size) |
char * | apr_collapse_spaces (char *dest, const char *src) |
apr_status_t | apr_tokenize_to_argv (const char *arg_str, char ***argv_out, apr_pool_t *token_context) |
char * | apr_strtok (char *str, const char *sep, char **last) |
char * | apr_itoa (apr_pool_t *p, int n) |
char * | apr_ltoa (apr_pool_t *p, long n) |
char * | apr_off_t_toa (apr_pool_t *p, apr_off_t n) |
apr_int64_t | apr_strtoi64 (const char *buf, char **end, int base) |
apr_int64_t | apr_atoi64 (const char *buf) |
char * | apr_strfsize (apr_off_t size, char *buf) |
apr_int64_t apr_atoi64 | ( | const char * | buf | ) |
parse a base-10 numeric string into a 64-bit numeric value. Equivalent to apr_strtoi64(buf, (char**)NULL, 10).
buf | The string to parse |
char* apr_collapse_spaces | ( | char * | dest, | |
const char * | src | |||
) |
Strip spaces from a string
dest | The destination string. It is okay to modify the string in place. Namely dest == src | |
src | The string to rid the spaces from. |
char* apr_cpystrn | ( | char * | dst, | |
const char * | src, | |||
apr_size_t | dst_size | |||
) |
copy n characters from src to dst
dst | The destination string | |
src | The source string | |
dst_size | The space available in dst; dst always receives null-termination, so if src is longer than dst_size, the actual number of characters copied is dst_size - 1. |
We re-implement this function to implement these specific changes: 1) strncpy() doesn't always null terminate and we want it to. 2) strncpy() null fills, which is bogus, esp. when copy 8byte strings into 8k blocks. 3) Instead of returning the pointer to the beginning of the destination string, we return a pointer to the terminating null to allow us to check for truncation.
char* apr_itoa | ( | apr_pool_t * | p, | |
int | n | |||
) |
create a string representation of an int, allocated from a pool
p | The pool from which to allocate | |
n | The number to format |
char* apr_ltoa | ( | apr_pool_t * | p, | |
long | n | |||
) |
create a string representation of a long, allocated from a pool
p | The pool from which to allocate | |
n | The number to format |
char* apr_off_t_toa | ( | apr_pool_t * | p, | |
apr_off_t | n | |||
) |
create a string representation of an apr_off_t, allocated from a pool
p | The pool from which to allocate | |
n | The number to format |
void* apr_pmemdup | ( | apr_pool_t * | p, | |
const void * | m, | |||
apr_size_t | n | |||
) |
Duplicate a block of memory.
p | The pool to allocate from | |
m | The memory to duplicate | |
n | The number of bytes to duplicate |
char* apr_psprintf | ( | apr_pool_t * | p, | |
const char * | fmt, | |||
... | ||||
) |
printf-style style printing routine. The data is output to a string allocated from a pool
p | The pool to allocate out of | |
fmt | The format of the string | |
... | The arguments to use while printing the data |
char* apr_pstrcat | ( | apr_pool_t * | p, | |
... | ||||
) |
Concatenate multiple strings, allocating memory out a pool
p | The pool to allocate out of | |
... | The strings to concatenate. The final string must be NULL |
char* apr_pstrcatv | ( | apr_pool_t * | p, | |
const struct iovec * | vec, | |||
apr_size_t | nvec, | |||
apr_size_t * | nbytes | |||
) |
Concatenate multiple strings specified in a writev-style vector
p | The pool from which to allocate | |
vec | The strings to concatenate | |
nvec | The number of strings to concatenate | |
nbytes | (output) strlen of new string (pass in NULL to omit) |
char* apr_pstrdup | ( | apr_pool_t * | p, | |
const char * | s | |||
) |
duplicate a string into memory allocated out of a pool
p | The pool to allocate out of | |
s | The string to duplicate |
char* apr_pstrmemdup | ( | apr_pool_t * | p, | |
const char * | s, | |||
apr_size_t | n | |||
) |
Create a null-terminated string by making a copy of a sequence of characters and appending a null byte
p | The pool to allocate out of | |
s | The block of characters to duplicate | |
n | The number of characters to duplicate |
char* apr_pstrndup | ( | apr_pool_t * | p, | |
const char * | s, | |||
apr_size_t | n | |||
) |
Duplicate at most n characters of a string into memory allocated out of a pool; the new string will be NUL-terminated
p | The pool to allocate out of | |
s | The string to duplicate | |
n | The maximum number of characters to duplicate |
char* apr_pvsprintf | ( | apr_pool_t * | p, | |
const char * | fmt, | |||
va_list | ap | |||
) |
printf-style style printing routine. The data is output to a string allocated from a pool
p | The pool to allocate out of | |
fmt | The format of the string | |
ap | The arguments to use while printing the data |
char* apr_strfsize | ( | apr_off_t | size, | |
char * | buf | |||
) |
Format a binary size (magnitiudes are 2^10 rather than 10^3) from an apr_off_t, as bytes, K, M, T, etc, to a four character compacted human readable string.
size | The size to format | |
buf | The 5 byte text buffer (counting the trailing null) |
int apr_strnatcasecmp | ( | char const * | a, | |
char const * | b | |||
) |
Do a natural order comparison of two strings ignoring the case of the strings.
a | The first string to compare | |
b | The second string to compare |
int apr_strnatcmp | ( | char const * | a, | |
char const * | b | |||
) |
Do a natural order comparison of two strings.
a | The first string to compare | |
b | The second string to compare |
apr_int64_t apr_strtoi64 | ( | const char * | buf, | |
char ** | end, | |||
int | base | |||
) |
parse a numeric string into a 64-bit numeric value
buf | The string to parse. It may contain optional whitespace, followed by 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 base. | |
end | A pointer to the end of the valid character in buf. If not nil, it is set to the first invalid character in buf. | |
base | A numeric base in the range between 2 and 36 inclusive, or 0. If base is zero, buf will be treated as base ten unless its digits are prefixed with '0x', in which case it will be treated as base 16. |
char* apr_strtok | ( | char * | str, | |
const char * | sep, | |||
char ** | last | |||
) |
Split a string into separate null-terminated tokens. The tokens are delimited in the string by one or more characters from the sep argument.
str | The string to separate; this should be specified on the first call to apr_strtok() for a given string, and NULL on subsequent calls. | |
sep | The set of delimiters | |
last | Internal state saved by apr_strtok() between calls. |
apr_status_t apr_tokenize_to_argv | ( | const char * | arg_str, | |
char *** | argv_out, | |||
apr_pool_t * | token_context | |||
) |
Convert the arguments to a program from one string to an array of strings terminated by a NULL pointer
arg_str | The arguments to convert | |
argv_out | Output location. This is a pointer to an array of strings. | |
token_context | Pool to use. |