Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

String routines
[Apache Portability Runtime library]


Modules

group  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)

Function Documentation

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).

Parameters:
buf The string to parse
Returns:
The numeric value of the string

char* apr_collapse_spaces char *  dest,
const char *  src
 

Strip spaces 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.

char* apr_cpystrn char *  dst,
const char *  src,
apr_size_t  dst_size
 

copy n characters from src to dst

Parameters:
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.
Remarks:
 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

Parameters:
p The pool from which to allocate
n The number to format
Returns:
The string representation of the number

char* apr_ltoa apr_pool_t p,
long  n
 

create a string representation of a long, allocated from a pool

Parameters:
p The pool from which to allocate
n The number to format
Returns:
The string representation of the number

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

Parameters:
p The pool from which to allocate
n The number to format
Returns:
The string representation of the number

void* apr_pmemdup apr_pool_t p,
const void *  m,
apr_size_t  n
 

Duplicate a block of memory.

Parameters:
p The pool to allocate from
m The memory to duplicate
n The number of bytes to duplicate
Returns:
The new block of memory

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

Parameters:
p The pool to allocate out of
fmt The format of the string
... The arguments to use while printing the data
Returns:
The new string

char* apr_pstrcat apr_pool_t p,
  ...
 

Concatenate multiple strings, allocating memory out a pool

Parameters:
p The pool to allocate out of
... The strings to concatenate. The final string must be NULL
Returns:
The new string

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

Parameters:
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)
Returns:
The new string

char* apr_pstrdup apr_pool_t p,
const char *  s
 

duplicate a string into memory allocated out of a pool

Parameters:
p The pool to allocate out of
s The string to duplicate
Returns:
The new string

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

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.

char* apr_pstrndup apr_pool_t p,
const char *  s,
apr_size_t  n
 

duplicate the first n characters of a string into memory allocated out of a pool; the new string will be null-terminated

Parameters:
p The pool to allocate out of
s The string to duplicate
n The number of characters to duplicate
Returns:
The new string

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

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)
Returns:
The buf passed to apr_strfsize()
Remarks:
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.

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 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.
Returns:
The numeric value of the string.

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.
Returns:
The next token from the string

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

Parameters:
arg_str The arguments to convert
argv_out Output location. This is a pointer to an array of strings.
token_context Pool to use.


Generated on Thu Jan 27 11:55:33 2005 for Apache Portable Runtime by  doxygen 1.3.9.1