void bug(enum bugtype, const char *) __attribute__((__noreturn__));
+/* represent an empty command word */
+static const command_word_t empty_command_word = {
+ .raw = "",
+ .id = WORD_EMPTY,
+ .type = NO_WORD_TYPE,
+};
+
/* end */
continue; /* back to top of main interpreter loop */
case GO_WORD2:
/* Get second word for analysis. */
- command.word[0].id = command.word[1].id;
- command.word[0].type = command.word[1].type;
- strncpy(command.word[0].raw, command.word[1].raw, LINESIZE - 1);
- command.word[1].id = WORD_EMPTY;
- command.word[1].type = NO_WORD_TYPE;
- command.word[1].raw[0] = '\0';
+ command.word[0] = command.word[1];
+ command.word[1] = empty_command_word;
goto Lookup;
case GO_UNKNOWN:
/* Random intransitive verbs come here. Clear obj just in case