String routines
[Apache Portability Runtime library]


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_status_t apr_strtoff (apr_off_t *offset, const char *buf, char **end, int base)
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.
Returns:
The destination string, dest.

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.
 

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 
)

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n  )

n