^{WS}*\.text{WS}*$ { update_lineinfo(); return SECTION_TEXT; }
^{WS}*\.initvals/\({IDENTIFIER}\) { update_lineinfo(); return SECTION_IVALS; }
-spr[0-9a-fA-F]{3,3} { update_lineinfo(); return SPR; }
+spr[0-9a-fA-F]{1,4} { update_lineinfo(); return SPR; }
r/([0-9]|([1-5][0-9])|(6[0-3])) { update_lineinfo(); return GPR; }
off/[0-6] { update_lineinfo(); return OFFR; }
lr/[0-3] { update_lineinfo(); return LR; }
jnext { update_lineinfo(); return OP_JNEXT; }
call { update_lineinfo(); return OP_CALL; }
+calls { update_lineinfo(); return OP_CALLS; }
ret { update_lineinfo(); return OP_RET; }
+rets { update_lineinfo(); return OP_RETS; }
tkiph { update_lineinfo(); return OP_TKIPH; }
tkiphs { update_lineinfo(); return OP_TKIPHS; }
radio { update_lineinfo(); return IVAL_RADIO; }
shm16 { update_lineinfo(); return IVAL_SHM16; }
shm32 { update_lineinfo(); return IVAL_SHM32; }
+tram { update_lineinfo(); return IVAL_TRAM; }
-@[0-9a-fA-F]{3,3} { update_lineinfo(); return RAW_CODE; }
+@[0-9a-fA-F]{1,4} { update_lineinfo(); return RAW_CODE; }
0x[0-9a-fA-F]+ { update_lineinfo(); return HEXNUM; }
-?[0-9]+ { update_lineinfo(); return DECNUM; }
goto error;
memset(tmp, 0, sizeof(tmp));
memcpy(tmp, str, min(sizeof(tmp) - 1,
- (int)(found - str)));
+ (size_t)(found - str)));
cur_lineinfo.lineno = strtoul(tmp, NULL, 10) - 1;
str = found;
str++;
memset(cur_lineinfo.file, 0, sizeof(cur_lineinfo.file));
memcpy(cur_lineinfo.file, str,
min(sizeof(cur_lineinfo.file) - 1,
- (int)(found - str)));
+ (size_t)(found - str)));
return;
error: