Changeset 5ebff60 for protocols/yahoo/yahoo_util.c
- Timestamp:
- 2015-02-20T22:50:54Z (9 years ago)
- Branches:
- master
- Children:
- 0b9daac, 3d45471, 7733b8c
- Parents:
- af359b4
- git-author:
- Indent <please@…> (19-02-15 05:47:20)
- git-committer:
- dequis <dx@…> (20-02-15 22:50:54)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/yahoo/yahoo_util.c
raf359b4 r5ebff60 27 27 # define strrchr rindex 28 28 # endif 29 char *strchr (), *strrchr();29 char *strchr(), *strrchr(); 30 30 # if !HAVE_MEMCPY 31 # define memcpy(d, s, n) bcopy 32 # define memmove(d, s, n) bcopy 31 # define memcpy(d, s, n) bcopy((s), (d), (n)) 32 # define memmove(d, s, n) bcopy((s), (d), (n)) 33 33 # endif 34 34 #endif … … 57 57 { 58 58 char **v; 59 for(v = vector; *v; v++) { 59 60 for (v = vector; *v; v++) { 60 61 FREE(*v); 61 62 } … … 67 68 char ** vector; 68 69 char *s, *p; 69 int i =0;70 int i = 0; 70 71 int l = strlen(sep); 71 if(nelem <= 0) { 72 73 if (nelem <= 0) { 72 74 char * s; 73 nelem =0;75 nelem = 0; 74 76 if (*str) { 75 for (s=strstr(str, sep); s; s=strstr(s+l, sep),nelem++)77 for (s = strstr(str, sep); s; s = strstr(s + l, sep), nelem++) { 76 78 ; 77 if(strcmp(str+strlen(str)-l, sep)) 79 } 80 if (strcmp(str + strlen(str) - l, sep)) { 78 81 nelem++; 82 } 79 83 } 80 84 } … … 82 86 vector = y_new(char *, nelem + 1); 83 87 84 for (p=str, s=strstr(p,sep); i<nelem && s; p=s+l, s=strstr(p,sep), i++) {85 int len = s -p;86 vector[i] = y_new(char, len +1);88 for (p = str, s = strstr(p, sep); i < nelem && s; p = s + l, s = strstr(p, sep), i++) { 89 int len = s - p; 90 vector[i] = y_new(char, len + 1); 87 91 strncpy(vector[i], p, len); 88 92 vector[i][len] = '\0'; 89 93 } 90 94 91 if (i<nelem && *str)/* str didn't end with sep, and str isn't empty */95 if (i < nelem && *str) { /* str didn't end with sep, and str isn't empty */ 92 96 vector[i++] = strdup(p); 93 97 } 98 94 99 vector[i] = NULL; 95 100 … … 100 105 { 101 106 void * new_chunk = malloc(n); 102 if(new_chunk) 107 108 if (new_chunk) { 103 109 memcpy(new_chunk, addr, n); 110 } 104 111 return new_chunk; 105 112 }
Note: See TracChangeset
for help on using the changeset viewer.