comparison src/macro.c @ 69:b7550988b97c

Fixed missing NUL on macro lines
author lost
date Tue, 06 Jan 2009 04:36:41 +0000
parents cef25b0088e6
children 918be0c02239
comparison
equal deleted inserted replaced
68:cef25b0088e6 69:b7550988b97c
118 118
119 void macro_add_to_buff(char **buff, int *loc, int *len, char c) 119 void macro_add_to_buff(char **buff, int *loc, int *len, char c)
120 { 120 {
121 if (*loc == *len) 121 if (*loc == *len)
122 { 122 {
123 *buff = realloc(*buff, *len + 32); 123 *buff = lwasm_realloc(*buff, *len + 32);
124 *len += 32; 124 *len += 32;
125 } 125 }
126 (*buff)[(*loc)++] = c; 126 (*buff)[(*loc)++] = c;
127 } 127 }
128 128
205 *p3 = '\0'; 205 *p3 = '\0';
206 206
207 nargs++; 207 nargs++;
208 if (**p == ',') 208 if (**p == ',')
209 (*p)++; 209 (*p)++;
210 }
211 }
212
213 {
214 int i;
215 for (i = 0; i < nargs; i++)
216 {
217 debug_message(10, "Macro (%s) arg %d: %s", m -> name, i + 1, args[i]);
210 } 218 }
211 } 219 }
212 220
213 // step 2: iterate over the lines 221 // step 2: iterate over the lines
214 if (as -> passnum == 2) 222 if (as -> passnum == 2)
300 { 308 {
301 macro_add_to_buff(&linebuff, &bloc, &blen, *p2); 309 macro_add_to_buff(&linebuff, &bloc, &blen, *p2);
302 } 310 }
303 } 311 }
304 312
313 macro_add_to_buff(&linebuff, &bloc, &blen, 0);
314
305 nl -> text = linebuff; 315 nl -> text = linebuff;
306 316
307 lwasm_parse_line(as, nl); 317 lwasm_parse_line(as, nl);
308 if (as -> endseen) 318 if (as -> endseen)
309 break; 319 break;