parse a base-10 numeric string into a 64-bit numeric value. Equivalent to apr_strtoi64(buf, (char**)NULL, 10).
Parameters:
buf
The string to parse
Returns:
The numeric value of the string. On overflow, errno is set to ERANGE. On success, errno is set to 0.
char* apr_collapse_spaces
(
char *
dest,
const char *
src
)
Remove all whitespace from a string
Parameters:
dest
The destination string. It is okay to modify the string in place. Namely dest == src
src
The string to rid the spaces from.
Returns:
A pointer to the destination string's null terminator.
char* apr_cpystrn
(
char *
dst,
const char *
src,
apr_size_t
dst_size
)
Copy up to dst_size characters from src to dst; does not copy past a NUL terminator in src, but always terminates dst with a NUL regardless.
Parameters:
dst
The destination string
src
The source string
dst_size
The space available in dst; dst always receives NUL termination, so if src is longer than dst_size, the actual number of characters copied is dst_size - 1.
Returns:
Pointer to the NUL terminator of the destination string, dst
Remarks:
Note the differences between this function and strncpy():
1) strncpy() doesn't always NUL terminate; apr_cpystrn() does.
2) strncpy() pads the destination string with NULs, which is often
unnecessary; apr_cpystrn() does not.
3) strncpy() returns a pointer to the beginning of the dst string;
apr_cpystrn() returns a pointer to the NUL terminator of dst,
to allow a check for truncation.
Create a null-terminated string by making a copy of a sequence of characters and appending a null byte
Parameters:
p
The pool to allocate out of
s
The block of characters to duplicate
n
The number of characters to duplicate
Returns:
The new string
Remarks:
This is a faster alternative to apr_pstrndup, for use when you know that the string being duplicated really has 'n' or more characters. If the string might contain fewer characters, use apr_pstrndup.
printf-style style printing routine. The data is output to a string allocated from a pool
Parameters:
p
The pool to allocate out of
fmt
The format of the string
ap
The arguments to use while printing the data
Returns:
The new string
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.
Parameters:
size
The size to format
buf
The 5 byte text buffer (counting the trailing null)
All negative sizes report ' - ', apr_strfsize only formats positive values.
int apr_strnatcasecmp
(
char const *
a,
char const *
b
)
Do a natural order comparison of two strings ignoring the case of the strings.
Parameters:
a
The first string to compare
b
The second string to compare
Returns:
Either <0, 0, or >0. If the first string is less than the second this returns <0, if they are equivalent it returns 0, and if the first string is greater than second string it retuns >0.
int apr_strnatcmp
(
char const *
a,
char const *
b
)
Do a natural order comparison of two strings.
Parameters:
a
The first string to compare
b
The second string to compare
Returns:
Either <0, 0, or >0. If the first string is less than the second this returns <0, if they are equivalent it returns 0, and if the first string is greater than second string it retuns >0.
Convert a numeric string into an apr_off_t numeric value.
Parameters:
offset
The value of the parsed string.
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 NULL, 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.
*end breaks type safety; where *buf is const, *end needs to be declared as const in APR 2.0
apr_int64_t apr_strtoi64
(
const char *
buf,
char **
end,
int
base
)
parse a numeric string into a 64-bit numeric value
Parameters:
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 NULL, 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.
Returns:
The numeric value of the string. On overflow, errno is set to ERANGE. On success, errno is set to 0.
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.
Parameters:
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.