Using safer types

This commit is contained in:
Pierre Pronchery 2008-02-25 00:45:33 +00:00
parent 0a346244d7
commit ae90a261e7
2 changed files with 14 additions and 10 deletions

View File

@ -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);

View File

@ -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++;