Mercurial > hg-old > index.cgi
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; |