Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2002 - 2006 Pekka Riikonen
+ Copyright (C) 2002 - 2008 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
*/
-/****h* silcutil/SILC String Utilities
+/****h* silcutil/String Utilities
*
* DESCRIPTION
*
- * String manipulation utility routines. These routines provides
- * various helper functions for encoding, decoding and otherwise
- * managing strings.
+ * Various string utility routines.
*
***/
#ifndef SILCSTRUTIL_H
#define SILCSTRUTIL_H
-/****d* silcutil/SilcStrUtilAPI/SilcStringEncoding
+/****d* silcutil/SilcStringEncoding
*
* NAME
*
} SilcStringEncoding;
/***/
-/****f* silcutil/SilcStrUtilAPI/silc_pem_encode
- *
- * SYNOPSIS
- *
- * char *silc_pem_encode(unsigned char *data, SilcUInt32 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.
- *
- ***/
-char *silc_pem_encode(unsigned char *data, SilcUInt32 len);
-
-/****f* silcutil/SilcStrUtilAPI/silc_pem_encode_file
- *
- * SYNOPSIS
- *
- * char *silc_pem_encode_file(unsigned char *data, SilcUInt32 data_len);
- *
- * DESCRIPTION
- *
- * Same as silc_pem_encode() but puts newline ('\n') every 72 characters.
- *
- ***/
-char *silc_pem_encode_file(unsigned char *data, SilcUInt32 data_len);
-
-/****f* silcutil/SilcStrUtilAPI/silc_pem_decode
- *
- * SYNOPSIS
- *
- * unsigned char *silc_pem_decode(unsigned char *pem, SilcUInt32 pem_len,
- * SilcUInt32 *ret_len);
- *
- * DESCRIPTION
- *
- * Decodes PEM into data. Returns the decoded data. Note: This is
- * originally public domain code and is still PD.
- *
- ***/
-unsigned char *silc_pem_decode(unsigned char *pem, SilcUInt32 pem_len,
- SilcUInt32 *ret_len);
-
-/****f* silcutil/SilcStrStrUtilAPI/silc_strncat
+/****f* silcutil/silc_strncat
*
* SYNOPSIS
*
char *silc_strncat(char *dest, SilcUInt32 dest_size,
const char *src, SilcUInt32 src_len);
-/****f* silcutil/SilcStrUtilAPI/silc_string_regexify
+/****f* silcutil/silc_string_regexify
*
* SYNOPSIS
*
* be used by the GNU regex library. A comma (`,') in the `string' means
* that the string is list.
*
- * This function is system dependant.
- *
***/
char *silc_string_regexify(const char *string);
-/****f* silcutil/SilcStrUtilAPI/silc_string_regex_match
+/****f* silcutil/silc_string_match
*
* SYNOPSIS
*
- * int silc_string_regex_match(const char *regex, const char *string);
+ * int silc_string_match(const char *string1, const char *string2);
*
* DESCRIPTION
*
- * Matches the two strings and returns TRUE if the strings match.
- *
- * This function is system dependant.
+ * Do regex match to the two strings `string1' and `string2'. If the
+ * `string2' matches the `string1' this returns TRUE.
*
***/
-int silc_string_regex_match(const char *regex, const char *string);
+int silc_string_match(const char *string1, const char *string2);
-/****f* silcutil/SilcStrUtilAPI/silc_string_match
+/****f* silcutil/silc_string_compare
*
* SYNOPSIS
*
- * int silc_string_match(const char *string1, const char *string2);
+ * int silc_string_compare(char *string1, char *string2);
*
* DESCRIPTION
*
- * Do regex match to the two strings `string1' and `string2'. If the
- * `string2' matches the `string1' this returns TRUE.
- *
- * This function is system dependant.
+ * Compares two strings. Strings may include wildcards '*' and '?'.
+ * Returns TRUE if strings match.
*
***/
-int silc_string_match(const char *string1, const char *string2);
+int silc_string_compare(char *string1, char *string2);
-/****f* silcutil/SilcStrUtilAPI/silc_string_compare
+/****f* silcutil/silc_string_split
*
* SYNOPSIS
*
- * int silc_string_compare(char *string1, char *string2);
+ * char **silc_string_split(const char *string, char ch, int *ret_count);
*
* DESCRIPTION
*
- * Compares two strings. Strings may include wildcards '*' and '?'.
- * Returns TRUE if strings match.
+ * 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.
*
***/
-int silc_string_compare(char *string1, char *string2);
+char **silc_string_split(const char *string, char ch, int *ret_count);
#endif /* SILCSTRUTIL_H */