| /** |
| * @file op_string.h |
| * general purpose C string handling declarations. |
| * |
| * @remark Copyright 2003 OProfile authors |
| * @remark Read the file COPYING |
| * |
| * @author John Levon |
| * @author Philippe Elie |
| */ |
| |
| #ifndef OP_STRING_H |
| #define OP_STRING_H |
| |
| #include <string.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * @param s: input string |
| * @param len: len char to copy |
| * |
| * Allocate and copy len character from s to a newly allocated buffer then |
| * append a '\0' terminator. Return the newly allocated string |
| */ |
| char * op_xstrndup(char const * s, size_t len); |
| |
| /** |
| * @param s: string to hash |
| * |
| * Generate a hash code from a string |
| */ |
| size_t op_hash_string(char const * s); |
| |
| /** |
| * @param str: string to test |
| * @param prefix: prefix string |
| * |
| * return non zero if prefix parameters is a prefix of str |
| */ |
| int strisprefix(char const * str, char const * prefix); |
| |
| /** |
| * @param c: input string |
| * |
| * return a pointer to the first location in c which is not a blank space |
| * where blank space are in " \t\n" |
| */ |
| char const * skip_ws(char const * c); |
| |
| /** |
| * @param c: input string |
| * |
| * return a pointer to the first location in c which is a blank space |
| * where blank space are in " \t\n" |
| */ |
| char const * skip_nonws(char const * c); |
| |
| /** |
| * @param c: input string |
| * |
| * return non zero if c string contains only blank space |
| * where blank space are in " \t\n" |
| */ |
| int empty_line(char const * c); |
| |
| /** |
| * @param c: input string |
| * |
| * return non zero if c string is a comment. Comment are lines with optional |
| * blank space at left then a '#' character. Blank space are in " \t\n" |
| */ |
| int comment_line(char const * c); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* !OP_STRING_H */ |