Changes in protocols/oscar/oscar_util.c [6042a54:5d6c178]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/oscar/oscar_util.c
r6042a54 r5d6c178 1 1 #include <aim.h> 2 2 #include <ctype.h> 3 4 int aimutil_putstr(u_char *dest, const char *src, int len) 5 { 6 memcpy(dest, src, len); 7 return len; 8 } 9 10 /* 11 * Tokenizing functions. Used to portably replace strtok/sep. 12 * -- DMP. 13 * 14 */ 15 int aimutil_tokslen(char *toSearch, int index, char dl) 16 { 17 int curCount = 1; 18 char *next; 19 char *last; 20 int toReturn; 21 22 last = toSearch; 23 next = strchr(toSearch, dl); 24 25 while(curCount < index && next != NULL) { 26 curCount++; 27 last = next + 1; 28 next = strchr(last, dl); 29 } 30 31 if ((curCount < index) || (next == NULL)) 32 toReturn = strlen(toSearch) - (curCount - 1); 33 else 34 toReturn = next - toSearch - (curCount - 1); 35 36 return toReturn; 37 } 38 39 int aimutil_itemcnt(char *toSearch, char dl) 40 { 41 int curCount; 42 char *next; 43 44 curCount = 1; 45 46 next = strchr(toSearch, dl); 47 48 while(next != NULL) { 49 curCount++; 50 next = strchr(next + 1, dl); 51 } 52 53 return curCount; 54 } 55 56 char *aimutil_itemidx(char *toSearch, int index, char dl) 57 { 58 int curCount; 59 char *next; 60 char *last; 61 char *toReturn; 62 63 curCount = 0; 64 65 last = toSearch; 66 next = strchr(toSearch, dl); 67 68 while (curCount < index && next != NULL) { 69 curCount++; 70 last = next + 1; 71 next = strchr(last, dl); 72 } 73 74 if (curCount < index) { 75 toReturn = g_strdup(""); 76 } 77 next = strchr(last, dl); 78 79 if (curCount < index) { 80 toReturn = g_strdup(""); 81 } else { 82 if (next == NULL) { 83 toReturn = g_malloc((strlen(last) + 1) * sizeof(char)); 84 strcpy(toReturn, last); 85 } else { 86 toReturn = g_malloc((next - last + 1) * sizeof(char)); 87 memcpy(toReturn, last, (next - last)); 88 toReturn[next - last] = '\0'; 89 } 90 } 91 return toReturn; 92 } 3 93 4 94 /*
Note: See TracChangeset
for help on using the changeset viewer.