diff --git a/mxssb.c b/mxssb.c index eee6dc41e547d3f38d79ae056579d103a83b8e9f..c7f59d4b9b043e9c72bfd05c1f95ba07dd8c0a99 100644 --- a/mxssb.c +++ b/mxssb.c @@ -523,7 +523,14 @@ static int sb_tag_to_command(struct sb_cmd_ctx *cctx, char *line) break; case 'T': /* ROM_TAG_CMD */ cmd->header.tag = ROM_TAG_CMD; - cmd->header.flags = 1; // HACK + tok = strtok(NULL, " "); + if (!tok) + break; + + /* Check for "LAST" flag. */ + if ((strlen(tok) == 4) && !strncmp(tok, "LAST", 3)) + cmd->header.flags = ROM_TAG_CMD_FLAG_ROM_LAST_TAG; + /* Rest of TAG instruction is filled later. */ break; case 'L': /* ROM_LOAD_CMD */