diff th_string.c @ 81:69aed051f84d

Synced th-libs.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 20 Apr 2009 22:02:37 +0300
parents e36df57c5b0f
children fe4d5f3b486c
line wrap: on
line diff
--- a/th_string.c	Fri Jan 30 01:54:51 2009 +0200
+++ b/th_string.c	Mon Apr 20 22:02:37 2009 +0300
@@ -18,15 +18,15 @@
  */
 char *th_strdup(const char *s)
 {
-	char *res;
-	if (s == NULL)
-		return NULL;
-	
-	if ((res = th_malloc(strlen(s) + 1)) == NULL)
-		return NULL;
-	
-	strcpy(res, s);
-	return res;
+    char *res;
+    if (s == NULL)
+        return NULL;
+    
+    if ((res = th_malloc(strlen(s) + 1)) == NULL)
+        return NULL;
+    
+    strcpy(res, s);
+    return res;
 }
 
 
@@ -34,69 +34,69 @@
  */
 char *th_stralloc(const size_t l)
 {
-	assert(l > 0);
-	return th_malloc(sizeof(char) * l);
+    assert(l > 0);
+    return th_malloc(sizeof(char) * l);
 }
 
 
 char *th_strrealloc(char * s, const size_t l)
 {
-	assert(l > 0);
-	return th_realloc(s, sizeof(char) * l);
+    assert(l > 0);
+    return th_realloc(s, sizeof(char) * l);
 }
 
 
 char *th_strncpy(char * dst, const char * src, size_t n)
 {
-	const char *s = src;
-	char *d = dst;
-	size_t i;
-	assert(src != NULL);
-	assert(dst != NULL);
+    const char *s = src;
+    char *d = dst;
+    size_t i;
+    assert(src != NULL);
+    assert(dst != NULL);
 
-	/* Copy to the destination */
-	i = n;
-	while (*s && (i > 0)) {
-		*(d++) = *(s++);
-		i--;
-	}
+    /* Copy to the destination */
+    i = n;
+    while (*s && (i > 0)) {
+        *(d++) = *(s++);
+        i--;
+    }
 
-	/* Fill rest of space with zeros */
-	while (i > 0) {
-		*(d++) = 0;
-		i--;
-	}
+    /* Fill rest of space with zeros */
+    while (i > 0) {
+        *(d++) = 0;
+        i--;
+    }
 
-	/* Ensure that last is always zero */
-	dst[n - 1] = 0;
+    /* Ensure that last is always zero */
+    dst[n - 1] = 0;
 
-	return dst;
+    return dst;
 }
 
 
 int th_strncmp(char * str1, char * str2, size_t n)
 {
-	char *s1, *s2;
-	assert(str1 != NULL);
-	assert(str2 != NULL);
+    char *s1, *s2;
+    assert(str1 != NULL);
+    assert(str2 != NULL);
 
-	/* Check the string pointers */
-	if (str1 == str2)
-		return 0;
+    /* Check the string pointers */
+    if (str1 == str2)
+        return 0;
 
-	/* Go through the string */
-	s1 = str1;
-	s2 = str2;
-	while ((n > 0) && *s1 && *s2 && (*s1 == *s2)) {
-		s1++;
-		s2++;
-		n--;
-	}
+    /* Go through the string */
+    s1 = str1;
+    s2 = str2;
+    while ((n > 0) && *s1 && *s2 && (*s1 == *s2)) {
+        s1++;
+        s2++;
+        n--;
+    }
 
-	if (n > 0)
-		return ((*s1) - (*s2));
-	else
-		return 0;
+    if (n > 0)
+        return ((*s1) - (*s2));
+    else
+        return 0;
 }
 
 
@@ -104,45 +104,45 @@
  */
 int th_strcasecmp(char * str1, char * str2)
 {
-	char *s1 = str1, *s2 = str2;
-	assert(str1 != NULL);
-	assert(str2 != NULL);
+    char *s1 = str1, *s2 = str2;
+    assert(str1 != NULL);
+    assert(str2 != NULL);
 
-	/* Check the string pointers */
-	if (str1 == str2)
-		return 0;
+    /* Check the string pointers */
+    if (str1 == str2)
+        return 0;
 
-	/* Go through the string */
-	while (*s1 && *s2 && (th_tolower(*s1) == th_tolower(*s2))) {
-		s1++;
-		s2++;
-	}
+    /* Go through the string */
+    while (*s1 && *s2 && (th_tolower(*s1) == th_tolower(*s2))) {
+        s1++;
+        s2++;
+    }
 
-	return (th_tolower(*s1) - th_tolower(*s2));
+    return (th_tolower(*s1) - th_tolower(*s2));
 }
 
 
 int th_strncasecmp(char * str1, char * str2, size_t n)
 {
-	char *s1 = str1, *s2 = str2;
-	assert(str1 != NULL);
-	assert(str2 != NULL);
+    char *s1 = str1, *s2 = str2;
+    assert(str1 != NULL);
+    assert(str2 != NULL);
 
-	/* Check the string pointers */
-	if (str1 == str2)
-		return 0;
+    /* Check the string pointers */
+    if (str1 == str2)
+        return 0;
 
-	/* Go through the string */
-	while ((n > 0) && *s1 && *s2 && (th_tolower(*s1) == th_tolower(*s2))) {
-		s1++;
-		s2++;
-		n--;
-	}
+    /* Go through the string */
+    while ((n > 0) && *s1 && *s2 && (th_tolower(*s1) == th_tolower(*s2))) {
+        s1++;
+        s2++;
+        n--;
+    }
 
-	if (n > 0)
-		return (th_tolower(*s1) - th_tolower(*s2));
-	else
-		return 0;
+    if (n > 0)
+        return (th_tolower(*s1) - th_tolower(*s2));
+    else
+        return 0;
 }
 
 
@@ -151,18 +151,18 @@
  */
 void th_strip_ctrlchars(char * str)
 {
-	char *i, *j;
-	assert(str != NULL);
+    char *i, *j;
+    assert(str != NULL);
 
-	i = str;
-	j = str;
-	while (*i) {
-		if (!th_iscntrl(*i))
-			*(j++) = *i;
-		i++;
-	}
+    i = str;
+    j = str;
+    while (*i) {
+        if (!th_iscntrl(*i))
+            *(j++) = *i;
+        i++;
+    }
 
-	*j = 0;
+    *j = 0;
 }
 
 
@@ -170,22 +170,22 @@
  */
 int th_pstrcpy(char ** result, char * str)
 {
-	assert(result != NULL);
+    assert(result != NULL);
 
-	/* Check the string pointers */
-	if (str == NULL)
-		return -1;
+    /* Check the string pointers */
+    if (str == NULL)
+        return -1;
 
-	/* Allocate memory for destination */
-	th_free(*result);
-	*result = th_stralloc(strlen(str) + 1);
-	if (!*result)
-		return -2;
+    /* Allocate memory for destination */
+    th_free(*result);
+    *result = th_stralloc(strlen(str) + 1);
+    if (!*result)
+        return -2;
 
-	/* Copy to the destination */
-	strcpy(*result, str);
+    /* Copy to the destination */
+    strcpy(*result, str);
 
-	return 0;
+    return 0;
 }
 
 
@@ -193,27 +193,27 @@
  */
 int th_pstrcat(char ** result, char * str)
 {
-	assert(result != NULL);
+    assert(result != NULL);
 
-	/* Check the string pointers */
-	if (str == NULL)
-		return -1;
+    /* Check the string pointers */
+    if (str == NULL)
+        return -1;
 
-	if (*result != NULL) {
-		*result = th_strrealloc(*result, strlen(*result) + strlen(str) + 1);
-		if (*result == NULL)
-			return -1;
+    if (*result != NULL) {
+        *result = th_strrealloc(*result, strlen(*result) + strlen(str) + 1);
+        if (*result == NULL)
+            return -1;
 
-		strcat(*result, str);
-	} else {
-		*result = th_stralloc(strlen(str) + 1);
-		if (*result == NULL)
-			return -1;
+        strcat(*result, str);
+    } else {
+        *result = th_stralloc(strlen(str) + 1);
+        if (*result == NULL)
+            return -1;
 
-		strcpy(*result, str);
-	}
+        strcpy(*result, str);
+    }
 
-	return 0;
+    return 0;
 }
 
 
@@ -223,12 +223,12 @@
  */
 char *th_findnext(char * str, size_t * iPos)
 {
-	assert(str != NULL);
+    assert(str != NULL);
 
-	/* Terminating NULL-character is not whitespace! */
-	while (th_isspace(str[*iPos]))
-		(*iPos)++;
-	return &str[*iPos];
+    /* Terminating NULL-character is not whitespace! */
+    while (th_isspace(str[*iPos]))
+        (*iPos)++;
+    return &str[*iPos];
 }
 
 
@@ -236,12 +236,12 @@
  */
 char *th_findsep(char * str, size_t * iPos, char chSep)
 {
-	assert(str != NULL);
+    assert(str != NULL);
 
-	/* Terminating NULL-character is not digit! */
-	while (str[*iPos] && (str[*iPos] != chSep))
-		(*iPos)++;
-	return &str[*iPos];
+    /* Terminating NULL-character is not digit! */
+    while (str[*iPos] && (str[*iPos] != chSep))
+        (*iPos)++;
+    return &str[*iPos];
 }
 
 
@@ -249,12 +249,12 @@
  */
 char *th_findseporspace(char * str, size_t * iPos, char chSep)
 {
-	assert(str != NULL);
+    assert(str != NULL);
 
-	/* Terminating NULL-character is not digit! */
-	while (!th_isspace(str[*iPos]) && (str[*iPos] != chSep))
-		(*iPos)++;
-	return &str[*iPos];
+    /* Terminating NULL-character is not digit! */
+    while (!th_isspace(str[*iPos]) && (str[*iPos] != chSep))
+        (*iPos)++;
+    return &str[*iPos];
 }
 
 
@@ -265,88 +265,88 @@
  */
 BOOL th_strmatch(char * str, char * pattern)
 {
-	BOOL didMatch = TRUE, isAnyMode = FALSE, isEnd = FALSE;
-	char *tmpPattern = NULL;
+    BOOL didMatch = TRUE, isAnyMode = FALSE, isEnd = FALSE;
+    char *tmpPattern = NULL;
 
-	/* Check given pattern and string */
-	if (str == NULL || pattern == NULL)
-		return FALSE;
+    /* Check given pattern and string */
+    if (str == NULL || pattern == NULL)
+        return FALSE;
 
-	/* Start comparision */
-	do {
-		didMatch = FALSE;
-		switch (*pattern) {
-		case '?':
-			/* Any single character matches */
-			if (*str) {
-				didMatch = TRUE;
-				pattern++;
-				str++;
-			}
-			break;
+    /* Start comparision */
+    do {
+        didMatch = FALSE;
+        switch (*pattern) {
+        case '?':
+            /* Any single character matches */
+            if (*str) {
+                didMatch = TRUE;
+                pattern++;
+                str++;
+            }
+            break;
 
-		case '*':
-			didMatch = TRUE;
-			pattern++;
-			if (!*pattern)
-				isEnd = TRUE;
-			isAnyMode = TRUE;
-			tmpPattern = pattern;
-			break;
+        case '*':
+            didMatch = TRUE;
+            pattern++;
+            if (!*pattern)
+                isEnd = TRUE;
+            isAnyMode = TRUE;
+            tmpPattern = pattern;
+            break;
 
-		case 0:
-			if (isAnyMode) {
-				if (*str)
-					str++;
-				else
-					isEnd = TRUE;
-			} else {
-				if (*str) {
-					if (tmpPattern) {
-						isAnyMode = TRUE;
-						pattern = tmpPattern;
-					} else
-						didMatch = FALSE;
-				} else
-					isEnd = TRUE;
-			}
-			break;
-		default:
-			if (isAnyMode) {
-				if (*pattern == *str) {
-					isAnyMode = FALSE;
-					didMatch = TRUE;
-				} else {
-					if (*str) {
-						didMatch = TRUE;
-						str++;
-					}
-				}
-			} else {
-				if (*pattern == *str) {
-					didMatch = TRUE;
-					if (*pattern)
-						pattern++;
-					if (*str)
-						str++;
-				} else {
-					if (tmpPattern) {
-						didMatch = TRUE;
-						isAnyMode = TRUE;
-						pattern = tmpPattern;
-					}
-				}
-			}
+        case 0:
+            if (isAnyMode) {
+                if (*str)
+                    str++;
+                else
+                    isEnd = TRUE;
+            } else {
+                if (*str) {
+                    if (tmpPattern) {
+                        isAnyMode = TRUE;
+                        pattern = tmpPattern;
+                    } else
+                        didMatch = FALSE;
+                } else
+                    isEnd = TRUE;
+            }
+            break;
+        default:
+            if (isAnyMode) {
+                if (*pattern == *str) {
+                    isAnyMode = FALSE;
+                    didMatch = TRUE;
+                } else {
+                    if (*str) {
+                        didMatch = TRUE;
+                        str++;
+                    }
+                }
+            } else {
+                if (*pattern == *str) {
+                    didMatch = TRUE;
+                    if (*pattern)
+                        pattern++;
+                    if (*str)
+                        str++;
+                } else {
+                    if (tmpPattern) {
+                        didMatch = TRUE;
+                        isAnyMode = TRUE;
+                        pattern = tmpPattern;
+                    }
+                }
+            }
 
-			if (!*str && !*pattern)
-				isEnd = TRUE;
-			break;
+            if (!*str && !*pattern)
+                isEnd = TRUE;
+            break;
 
-		}		/* switch */
+        }        /* switch */
 
-	} while (didMatch && !isEnd);
+    } while (didMatch && !isEnd);
 
-	return didMatch;
+    return didMatch;
 }
 
 
@@ -354,84 +354,84 @@
  */
 BOOL th_strcasematch(char * str, char * pattern)
 {
-	BOOL didMatch = TRUE, isAnyMode = FALSE, isEnd = FALSE;
-	char *tmpPattern = NULL;
+    BOOL didMatch = TRUE, isAnyMode = FALSE, isEnd = FALSE;
+    char *tmpPattern = NULL;
 
-	/* Check given pattern and string */
-	if (str == NULL || pattern == NULL)
-		return FALSE;
+    /* Check given pattern and string */
+    if (str == NULL || pattern == NULL)
+        return FALSE;
 
-	/* Start comparision */
-	do {
-		switch (*pattern) {
-		case '?':
-			/* Any single character matches */
-			if (*str) {
-				pattern++;
-				str++;
-			} else
-				didMatch = FALSE;
-			break;
+    /* Start comparision */
+    do {
+        switch (*pattern) {
+        case '?':
+            /* Any single character matches */
+            if (*str) {
+                pattern++;
+                str++;
+            } else
+                didMatch = FALSE;
+            break;
 
-		case '*':
-			pattern++;
-			if (!*pattern || *pattern == '?')
-				isEnd = TRUE;
-			isAnyMode = TRUE;
-			tmpPattern = pattern;
-			break;
+        case '*':
+            pattern++;
+            if (!*pattern || *pattern == '?')
+                isEnd = TRUE;
+            isAnyMode = TRUE;
+            tmpPattern = pattern;
+            break;
 
-		case 0:
-			if (isAnyMode) {
-				if (*str)
-					str++;
-				else
-					isEnd = TRUE;
-			} else {
-				if (*str) {
-					if (tmpPattern) {
-						isAnyMode = TRUE;
-						pattern = tmpPattern;
-					} else
-						didMatch = FALSE;
-				} else
-					isEnd = TRUE;
-			}
-			break;
+        case 0:
+            if (isAnyMode) {
+                if (*str)
+                    str++;
+                else
+                    isEnd = TRUE;
+            } else {
+                if (*str) {
+                    if (tmpPattern) {
+                        isAnyMode = TRUE;
+                        pattern = tmpPattern;
+                    } else
+                        didMatch = FALSE;
+                } else
+                    isEnd = TRUE;
+            }
+            break;
 
-		default:
-			if (isAnyMode) {
-				if (th_tolower(*pattern) == th_tolower(*str)) {
-					isAnyMode = FALSE;
-				} else {
-					if (*str)
-						str++;
-					else
-						didMatch = FALSE;
-				}
-			} else {
-				if (th_tolower(*pattern) == th_tolower(*str)) {
-					if (*pattern)
-						pattern++;
-					if (*str)
-						str++;
-				} else {
-					if (tmpPattern) {
-						isAnyMode = TRUE;
-						pattern = tmpPattern;
-					} else
-						didMatch = FALSE;
-				}
-			}
+        default:
+            if (isAnyMode) {
+                if (th_tolower(*pattern) == th_tolower(*str)) {
+                    isAnyMode = FALSE;
+                } else {
+                    if (*str)
+                        str++;
+                    else
+                        didMatch = FALSE;
+                }
+            } else {
+                if (th_tolower(*pattern) == th_tolower(*str)) {
+                    if (*pattern)
+                        pattern++;
+                    if (*str)
+                        str++;
+                } else {
+                    if (tmpPattern) {
+                        isAnyMode = TRUE;
+                        pattern = tmpPattern;
+                    } else
+                        didMatch = FALSE;
+                }
+            }
 
-			if (!*str && !*pattern)
-				isEnd = TRUE;
-			break;
+            if (!*str && !*pattern)
+                isEnd = TRUE;
+            break;
 
-		}		/* switch */
+        }        /* switch */
 
-	} while (didMatch && !isEnd);
+    } while (didMatch && !isEnd);
 
-	return didMatch;
+    return didMatch;
 }