HuntnGather – Diff between revs 16 and 19

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 16 Rev 19
Line 28... Line 28...
28   28  
29 /* 29 /*
30 * Creates a new stringStack with a given size. 30 * Creates a new stringStack with a given size.
31 */ 31 */
32 stringStack* stringStackCreate(unsigned int size) { 32 stringStack* stringStackCreate(unsigned int size) {
33 stringStack *s = malloc(sizeof(stringStack)); 33 stringStack *s = (stringStack*)malloc(sizeof(stringStack));
34 if ((s->store = malloc(size * sizeof(char *))) == NULL) 34 if ((s->store = (char**)malloc(size * sizeof(*s->store))) == NULL)
35 return NULL; 35 return NULL;
36 s->size = size; 36 s->size = size;
37 s->top = 0; 37 s->top = 0;
38 return s; 38 return s;
Line 50... Line 50...
50 /* 50 /*
51 * Pushes an element onto the stringStack. 51 * Pushes an element onto the stringStack.
52 */ 52 */
53 void stringStackPush(stringStack *s, char *e) { 53 void stringStackPush(stringStack *s, char *e) {
54 if (s->top > s->size - 1) 54 if (s->top > s->size - 1)
55 s->store = realloc(s->store, ++s->size * sizeof(char *)); 55 s->store = (char**)realloc(s->store, ++s->size * sizeof(*s->store));
56 s->store[s->top] = malloc((strlen(e) + 1) * sizeof(char)); 56 s->store[s->top] = (char*)malloc((strlen(e) + 1) * sizeof(*s->store[s->top]));
57 strncpy(s->store[s->top], e, strlen(e) + 1); 57 strncpy(s->store[s->top], e, strlen(e) + 1);
58 ++s->top; 58 ++s->top;
59 } 59 }
Line 60... Line 60...
60   60  
Line 65... Line 65...
65 char *stringStackPop(stringStack *s) { 65 char *stringStackPop(stringStack *s) {
66 char *e; 66 char *e;
67 if (stringStackIsEmpty(s)) 67 if (stringStackIsEmpty(s))
68 return NULL; 68 return NULL;
69 --s->top; 69 --s->top;
70 e = (char *)malloc((strlen(s->store[s->top]) + 1) * sizeof(char *)); 70 e = (char *)malloc((strlen(s->store[s->top]) + 1) * sizeof(*e));
71 strncpy(e, s->store[s->top], strlen(s->store[s->top]) + 1); 71 strncpy(e, s->store[s->top], strlen(s->store[s->top]) + 1);
72 free(s->store[s->top]); 72 free(s->store[s->top]);
73 return e; 73 return e;
74 } 74 }