Added preliminary Symbian support.
[silc.git] / lib / silcutil / silcstrutil.h
index c223fe6b7c6e3dbf6dcb11c46521f38a6c44a2a3..1fdc0fd16b486c89242d7e91c14d8d17324cbb1a 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  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
@@ -111,6 +111,26 @@ char *silc_pem_encode_file(unsigned char *data, SilcUInt32 data_len);
 unsigned char *silc_pem_decode(unsigned char *pem, SilcUInt32 pem_len,
                               SilcUInt32 *ret_len);
 
+/****f* silcutil/SilcStrStrUtilAPI/silc_snprintf
+ *
+ * SYNOPSIS
+ *
+ *    int silc_snprintf(char *str, SilcUInt32 size, const char *format, ...);
+ *
+ * DESCRIPTION
+ *
+ *    Produces output string according to the `format'.  The formatting
+ *    is equivalent to silc_snprintf(3) and sprintf(3).  Returns the number of
+ *    characters output into `str', at most `size' characters including the
+ *    trailing '\0' character.  Returns negative value on error.
+ *
+ ***/
+#ifndef SILC_SNPRINTF
+int silc_snprintf(char *str, SilcUInt32 size, const char *format, ...);
+#else
+#define silc_snprintf snprintf
+#endif /* SILC_SNPRINTF */
+
 /****f* silcutil/SilcStrStrUtilAPI/silc_strncat
  *
  * SYNOPSIS
@@ -190,4 +210,21 @@ int silc_string_match(const char *string1, const char *string2);
  ***/
 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 */