
Nmap Development mailing list archives
[PATCH] Rewrite nbase/strcasecmp.c
From: Kris Katterjohn <kjak () ispwest com>
Date: Wed, 01 Mar 2006 19:09:15 -0600
The attached patch simplifies str[n]casecmp() in nbase/strcasecmp.c Thanks, Kris Katterjohn
--- nbase/strcasecmp.c.orig 2006-03-01 18:34:38.000000000 -0600 +++ nbase/strcasecmp.c 2006-03-01 18:56:30.000000000 -0600 @@ -108,65 +108,46 @@ #ifndef HAVE_STRCASECMP int strcasecmp(const char *s1, const char *s2) { - int ret; + int i, ret; + char *cp1, *cp2; - char *cp1,*cp2; - int i=0; + cp1 = malloc(strlen(s1) + 1); + cp2 = malloc(strlen(s2) + 1); + + for (i = 0; i < strlen(s1) + 1; i++) + cp1[i] = tolower(s1[i]); + for (i = 0; i < strlen(s2) + 1; i++) + cp2[i] = tolower(s2[i]); + + ret = strcmp(cp1, cp2); - cp1=malloc(strlen(s1)+1); - memset(cp1,0,strlen(s1)+1); - memcpy(cp1,s1,strlen(s1)); - for (i=0; cp1[i]>0; i++) - { - if ('a' <= cp1[i] && cp1[i] <= 'z') - cp1[i] -= 32; - } - - cp2=malloc(strlen(s2)+1); - memset(cp2,0,strlen(s2)+1); - memcpy(cp2,s2,strlen(s2)); - for (i=0; cp2[i]>0; i++) - { - if ('a' <= cp2[i] && cp2[i] <= 'z') - cp2[i] -= 32; - } - - ret=strcmp(cp1,cp2); - - free(cp1); - free(cp2); - return ret; + free(cp1); + free(cp2); + + return ret; } #endif #ifndef HAVE_STRNCASECMP int strncasecmp(const char *s1, const char *s2, size_t n) { - int ret; - char *cp1,*cp2; - int i=0; - - cp1= (char *) malloc(strlen(s1)+1); - memset(cp1,0,strlen(s1)+1); - memcpy(cp1,s1,strlen(s1)); - for (i=0; cp1[i]>0; i++) - { - if ('a' <= cp1[i] && cp1[i] <= 'z') - cp1[i] -= 32; - } - - cp2= (char *) malloc(strlen(s2)+1); - memset(cp2,0,strlen(s2)+1); - memcpy(cp2,s2,strlen(s2)); - for (i=0; cp2[i]>0; i++) - { - if ('a' <= cp2[i] && cp2[i] <= 'z') - cp2[i] -= 32; - } - - ret=strncmp(cp1,cp2,n); - free(cp1); - free(cp2); - return ret; + int i, ret; + char *cp1, *cp2; + + cp1 = malloc(strlen(s1) + 1); + cp2 = malloc(strlen(s2) + 1); + + for (i = 0; i < strlen(s1) + 1; i++) + cp1[i] = tolower(s1[i]); + for (i = 0; i < strlen(s2) + 1; i++) + cp2[i] = tolower(s2[i]); + + ret = strncmp(cp1, cp2, n); + + free(cp1); + free(cp2); + + return ret; } #endif +
_______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev
Current thread:
- [PATCH] Rewrite nbase/strcasecmp.c Kris Katterjohn (Mar 01)
- Re: [PATCH] Rewrite nbase/strcasecmp.c Fyodor (Mar 02)