comparison lwasm/section.c @ 385:cf8c92d70eb1

Various bugfixes
author lost@starbug
date Sun, 16 May 2010 11:50:00 -0600
parents cc154dc614fe
children a741d2e4869f
comparison
equal deleted inserted replaced
384:38b50ce6967a 385:cf8c92d70eb1
171 lwasm_register_error(as, l, "EXPORT only supported for object target"); 171 lwasm_register_error(as, l, "EXPORT only supported for object target");
172 return; 172 return;
173 } 173 }
174 174
175 if (l -> sym) 175 if (l -> sym)
176 {
176 sym = lw_strdup(l -> sym); 177 sym = lw_strdup(l -> sym);
178 l -> symset = 1;
179 }
177 180
178 if (l -> sym) 181 if (l -> sym)
179 { 182 {
180 skip_operand(p); 183 skip_operand(p);
181 } 184 }
188 after = 1; 191 after = 1;
189 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++) 192 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++)
190 /* do nothing */ ; 193 /* do nothing */ ;
191 194
192 sym = lw_strndup(*p, p2 - *p); 195 sym = lw_strndup(*p, p2 - *p);
196 *p = p2;
193 } 197 }
194 if (!sym) 198 if (!sym)
195 { 199 {
196 lwasm_register_error(as, l, "No symbol for EXPORT"); 200 lwasm_register_error(as, l, "No symbol for EXPORT");
197 return; 201 return;
227 lwasm_register_error(as, l, "IMPORT only supported for object target"); 231 lwasm_register_error(as, l, "IMPORT only supported for object target");
228 return; 232 return;
229 } 233 }
230 234
231 if (l -> sym) 235 if (l -> sym)
236 {
232 sym = lw_strdup(l -> sym); 237 sym = lw_strdup(l -> sym);
238 l -> symset = 1;
239 }
233 240
234 if (l -> sym) 241 if (l -> sym)
235 { 242 {
236 skip_operand(p); 243 skip_operand(p);
237 } 244 }
244 after = 1; 251 after = 1;
245 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++) 252 for (p2 = *p; *p2 && *p2 != ',' && !isspace(*p2); p2++)
246 /* do nothing */ ; 253 /* do nothing */ ;
247 254
248 sym = lw_strndup(*p, p2 - *p); 255 sym = lw_strndup(*p, p2 - *p);
256 *p = p2;
249 } 257 }
250 if (!sym) 258 if (!sym)
251 { 259 {
252 lwasm_register_error(as, l, "No symbol for IMPORT"); 260 lwasm_register_error(as, l, "No symbol for IMPORT");
253 return; 261 return;