*
* This program is a free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public
- * License (version 3) as published by the FSF - Free Software
+ * License (version 2) as published by the FSF - Free Software
* Foundation
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+
+#include "os_regex.h"
#include "os_regex_internal.h"
* Split a string into multiples pieces, divided by a char "match".
* Returns a NULL terminated array on success or NULL on error.
*/
-char **OS_StrBreak(char match, char *str, int size)
+char **OS_StrBreak(char match, const char *str, size_t size)
{
- int count = 0;
- int i = 0;
-
- char *tmp_str = str;
+ size_t count = 0;
+ size_t i = 0;
+
+ const char *tmp_str = str;
char **ret;
- /* We can't do anything if str is null or size <= 0 */
- if((str == NULL)||(size <= 0))
+ /* We can't do anything if str is null */
+ if(str == NULL)
return(NULL);
ret = (char **)calloc(size+1, sizeof(char *));
/* Memory error. Should provice a better way to detect it */
return(NULL);
}
-
+
/* Allocating memory to null */
while(i <= size)
{
goto error;
}
- /* Copying the string */
+ /* Copying the string */
ret[count][i-1] = '\0';
strncpy(ret[count],tmp_str,i-1);
tmp_str = ++str;
count++;
- i=0;
+ i=0;
continue;
}