/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2009 Index Data.
+ * Copyright (C) 1995-2011 Index Data.
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
/** \brief returns size in bytes of memory for NMEM handle
\returns number of bytes
*/
-YAZ_EXPORT int nmem_total(NMEM n);
+YAZ_EXPORT size_t nmem_total(NMEM n);
/** \brief allocates string on NMEM handle (similar strdup)
\param mem HNEM handle
const char *dstr,
char ***darray, int *num);
+/** \brief allocates sub strings out of string using certain delimitors
+ \param nmem NMEM handle
+ \param delim delimitor chars (splits on each char in there)
+ \param dstr string to be split
+ \param darray result string array for each sub string
+ \param num number of result strings
+ \param collapse 1=collapse multiple delims to one; 0=no collapse
+*/
+YAZ_EXPORT void nmem_strsplitx(NMEM nmem, const char *delim,
+ const char *dstr,
+ char ***darray, int *num,
+ int collapse);
+
/** \brief splits string into sub strings delimited by blanks
\param nmem NMEM handle
\param dstr string to be split
\param size number of bytes to be allocated
\returns pointer to allocated memory
*/
-YAZ_EXPORT void *nmem_malloc(NMEM n, int size);
+YAZ_EXPORT void *nmem_malloc(NMEM n, size_t size);
YAZ_END_CDECL