From ae90a261e7a1f1ad9c908e4d627e76ebb2f3c2fb Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 25 Feb 2008 00:45:33 +0000 Subject: [PATCH] Using safer types --- include/System/string.h | 6 +++--- src/string.c | 18 +++++++++++------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/include/System/string.h b/include/System/string.h index 6aeac67..920b816 100644 --- a/include/System/string.h +++ b/include/System/string.h @@ -30,15 +30,15 @@ String * string_new(String const * string); void string_delete(String * string); /* returns */ -int string_length(String const * string); +size_t string_length(String const * string); /* useful */ int string_append(String ** string, String const * append); -void string_cut(String * string, unsigned int length); +void string_cut(String * string, size_t length); int string_compare(String const * string, String const * string2); int string_compare_length(String const * string, String const * string2, - unsigned int length); + size_t length); String * string_find(String const * string, String const * key); diff --git a/src/string.c b/src/string.c index 1069a65..f6b783f 100644 --- a/src/string.c +++ b/src/string.c @@ -22,10 +22,12 @@ /* String */ +/* public */ +/* string_new */ String * string_new(String const * string) { String * str; - int length = string_length(string); + size_t length = string_length(string); if((str = malloc(length + 1)) == NULL) return NULL; @@ -34,6 +36,7 @@ String * string_new(String const * string) } +/* string_delete */ void string_delete(String * string) { free(string); @@ -45,7 +48,7 @@ void string_delete(String * string) int string_append(String ** string, String const * append) { char * p; - int length = string_length(*string); + size_t length = string_length(*string); if((p = realloc(*string, length + string_length(append) + 1)) == NULL) return 1; @@ -74,7 +77,7 @@ int string_compare(String const * string, String const * string2) /* string_compare_length */ int string_compare_length(String const * string, String const * string2, - unsigned int length) + size_t length) { unsigned char const * u1; unsigned char const * u2; @@ -93,9 +96,10 @@ int string_compare_length(String const * string, String const * string2, /* string_find */ String * string_find(String const * string, String const * key) { - unsigned int len = string_length(key); - unsigned char const * p; + size_t len; + char const * p; + len = string_length(key); for(p = string; *p != '\0' && string_compare_length(key, p, len) != 0; p++); if(*p == '\0') @@ -105,9 +109,9 @@ String * string_find(String const * string, String const * key) /* string_length */ -int string_length(String const * string) +size_t string_length(String const * string) { - int length; + size_t length; for(length = 0; *string != '\0'; string++) length++;