Mercurial > hg > index.cgi
comparison lwasm/insn_indexed.c @ 91:95181f1ad183
Really fix memory leaks
author | lost@l-w.ca |
---|---|
date | Wed, 22 Jun 2011 19:06:14 -0600 |
parents | e20f9d59d5da |
children | 6a919c3ca0e9 |
comparison
equal
deleted
inserted
replaced
90:e20f9d59d5da | 91:95181f1ad183 |
---|---|
361 pb = (l -> pb & 0x80) ? 0x9D : 0x8D; | 361 pb = (l -> pb & 0x80) ? 0x9D : 0x8D; |
362 break; | 362 break; |
363 } | 363 } |
364 | 364 |
365 l -> pb = pb; | 365 l -> pb = pb; |
366 // lw_expr_destroy(e2); | 366 lw_expr_destroy(e2); |
367 // lw_expr_destroy(e3); | 367 // lw_expr_destroy(e3); |
368 return; | 368 return; |
369 } | 369 } |
370 else if ((l -> pb & 0x80) || ((l -> pb & 0x07) > 3) || v < -16 || v > 15) | 370 else if ((l -> pb & 0x80) || ((l -> pb & 0x07) > 3) || v < -16 || v > 15) |
371 { | 371 { |
399 pb = (l -> pb & 0x80) ? 0x9C : 0x8C; | 399 pb = (l -> pb & 0x80) ? 0x9C : 0x8C; |
400 break; | 400 break; |
401 } | 401 } |
402 | 402 |
403 l -> pb = pb; | 403 l -> pb = pb; |
404 lw_expr_destroy(e2); | |
404 return; | 405 return; |
405 } | 406 } |
406 else | 407 else |
407 { | 408 { |
408 // we have X,Y,U,S and a possible 16 bit here | 409 // we have X,Y,U,S and a possible 16 bit here |
415 else | 416 else |
416 { | 417 { |
417 pb = (l -> pb & 0x03) << 5 | (v & 0x1F); | 418 pb = (l -> pb & 0x03) << 5 | (v & 0x1F); |
418 } | 419 } |
419 l -> pb = pb; | 420 l -> pb = pb; |
421 lw_expr_destroy(e2); | |
420 return; | 422 return; |
421 } | 423 } |
422 lw_expr_destroy(e2); | 424 } |
423 } | 425 lw_expr_destroy(e2); |
424 } | 426 } |
425 | 427 |
426 if (lw_expr_istype(e, lw_expr_type_int)) | 428 if (lw_expr_istype(e, lw_expr_type_int)) |
427 { | 429 { |
428 // we know how big it is | 430 // we know how big it is |