diff --git a/require-ess/src/afterInit.c b/require-ess/src/afterInit.c index 42b56ba06d3587cf4211b30c6957dbd7897c5ff8..5a3ecff70811157cab9c811b1a4ec44fd4b7d8d0 100644 --- a/require-ess/src/afterInit.c +++ b/require-ess/src/afterInit.c @@ -13,11 +13,7 @@ struct cmditem { struct cmditem *next; - int type; - union { - char *a[12]; - char cmd[256]; - } x; + char cmd[256]; } *cmdlist, **cmdlast = &cmdlist; void afterInitHook(initHookState state) { @@ -34,19 +30,12 @@ void afterInitHook(initHookState state) { ) return; for (item = cmdlist; item != NULL; item = item->next) { - if (item->type == 1) { - printf("%s\n", item->x.cmd); - iocshCmd(item->x.cmd); - } else { - ((void (*)())item->x.a[0])(item->x.a[1], item->x.a[2], item->x.a[3], - item->x.a[4], item->x.a[5], item->x.a[6], - item->x.a[7], item->x.a[8], item->x.a[9], - item->x.a[10], item->x.a[11]); - } + printf("%s\n", item->cmd); + iocshCmd(item->cmd); } } -static struct cmditem *newItem(char *cmd, int type) { +static struct cmditem *newItem(char *cmd) { static int first_time = 1; struct cmditem *item; if (!cmd) { @@ -66,7 +55,6 @@ static struct cmditem *newItem(char *cmd, int type) { errlogPrintf("afterInit %s", strerror(errno)); return NULL; } - item->type = type; item->next = NULL; *cmdlast = item; cmdlast = &item->next; @@ -81,15 +69,15 @@ static const iocshFuncDef afterInitDef = { static void afterInitFunc(const iocshArgBuf *args) { int i, n; - struct cmditem *item = newItem(args[0].aval.av[1], 1); + struct cmditem *item = newItem(args[0].aval.av[1]); if (!item) return; - n = sprintf(item->x.cmd, "%.255s", args[0].aval.av[1]); + n = sprintf(item->cmd, "%.255s", args[0].aval.av[1]); for (i = 2; i < args[0].aval.ac; i++) { if (strpbrk(args[0].aval.av[i], " ,\"\\")) - n += sprintf(item->x.cmd + n, " '%.*s'", 255 - 3 - n, args[0].aval.av[i]); + n += sprintf(item->cmd + n, " '%.*s'", 255 - 3 - n, args[0].aval.av[i]); else - n += sprintf(item->x.cmd + n, " %.*s", 255 - 1 - n, args[0].aval.av[i]); + n += sprintf(item->cmd + n, " %.*s", 255 - 1 - n, args[0].aval.av[i]); } }