X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcstrutil.h;h=bc692975259bc59632b126fa4b7556d720482ea8;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=9332d8daeec3ffff1d6c73da055c38581ff8e5ee;hpb=ebfae3bbce6fed0dece516307f537ce5e270e7e0;p=silc.git diff --git a/lib/silcutil/silcstrutil.h b/lib/silcutil/silcstrutil.h index 9332d8da..bc692975 100644 --- a/lib/silcutil/silcstrutil.h +++ b/lib/silcutil/silcstrutil.h @@ -4,7 +4,7 @@ Author: Pekka Riikonen - Copyright (C) 2002 - 2006 Pekka Riikonen + Copyright (C) 2002 - 2007 Pekka Riikonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -67,65 +67,81 @@ typedef enum { } SilcStringEncoding; /***/ -/****f* silcutil/SilcStrUtilAPI/silc_pem_encode +/****f* silcutil/SilcStrStrUtilAPI/silc_strncat * * SYNOPSIS * - * char *silc_pem_encode(unsigned char *data, SilcUInt32 len); + * char *silc_strncat(char *dest, SilcUInt32 dest_size, + * const char *src, SilcUInt32 src_len); * * DESCRIPTION * - * Encodes data into PEM encoding. Returns NULL terminated PEM encoded - * data string. Note: This is originally public domain code and is - * still PD. + * Concatenates the `src' into `dest'. If `src_len' is more than the + * size of the `dest' (minus NULL at the end) the `src' will be + * truncated to fit. * ***/ -char *silc_pem_encode(unsigned char *data, SilcUInt32 len); +char *silc_strncat(char *dest, SilcUInt32 dest_size, + const char *src, SilcUInt32 src_len); -/****f* silcutil/SilcStrUtilAPI/silc_pem_encode_file +/****f* silcutil/SilcStrUtilAPI/silc_string_regexify * * SYNOPSIS * - * char *silc_pem_encode_file(unsigned char *data, SilcUInt32 data_len); + * char *silc_string_regexify(const char *string); * * DESCRIPTION * - * Same as silc_pem_encode() but puts newline ('\n') every 72 characters. + * Inspects the `string' for wildcards and returns regex string that can + * be used by the GNU regex library. A comma (`,') in the `string' means + * that the string is list. * ***/ -char *silc_pem_encode_file(unsigned char *data, SilcUInt32 data_len); +char *silc_string_regexify(const char *string); -/****f* silcutil/SilcStrUtilAPI/silc_pem_decode +/****f* silcutil/SilcStrUtilAPI/silc_string_match * * SYNOPSIS * - * unsigned char *silc_pem_decode(unsigned char *pem, SilcUInt32 pem_len, - * SilcUInt32 *ret_len); + * int silc_string_match(const char *string1, const char *string2); * * DESCRIPTION * - * Decodes PEM into data. Returns the decoded data. Note: This is - * originally public domain code and is still PD. + * Do regex match to the two strings `string1' and `string2'. If the + * `string2' matches the `string1' this returns TRUE. * ***/ -unsigned char *silc_pem_decode(unsigned char *pem, SilcUInt32 pem_len, - SilcUInt32 *ret_len); +int silc_string_match(const char *string1, const char *string2); -/****f* silcutil/SilcStrUtilAPI/silc_strncat +/****f* silcutil/SilcStrUtilAPI/silc_string_compare * * SYNOPSIS * - * char *silc_strncat(char *dest, SilcUInt32 dest_size, - * const char *src, SilcUInt32 src_len); + * int silc_string_compare(char *string1, char *string2); * * DESCRIPTION * - * Concatenates the `src' into `dest'. If `src_len' is more than the - * size of the `dest' (minus NULL at the end) the `src' will be - * truncated to fit. + * Compares two strings. Strings may include wildcards '*' and '?'. + * Returns TRUE if strings match. * ***/ -char *silc_strncat(char *dest, SilcUInt32 dest_size, - const char *src, SilcUInt32 src_len); +int silc_string_compare(char *string1, char *string2); + +/****f* silcutil/SilcStrUtilAPI/silc_string_split + * + * SYNOPSIS + * + * char **silc_string_split(const char *string, char ch, int *ret_count); + * + * DESCRIPTION + * + * Splits a `string' that has a separator `ch' into an array of strings + * and returns the array. The `ret_count' will contain the number of + * strings in the array. Caller must free the strings and the array. + * Returns NULL on error. If the string does not have `ch' separator + * this returns the `string' in the array. + * + ***/ +char **silc_string_split(const char *string, char ch, int *ret_count); #endif /* SILCSTRUTIL_H */