P> <command> [<arguments>...]
results in:
+ R< ?nak unknown-command|permission-denied|invalid-syntax [: <message...>]
R< ?executing <command> [<arguments>...]
consequential messages including picio, signalling problems etc.
then one of these
or
M< =denied
and later perhaps
- M< =failing : <message>
+ M< =failed : <message>
otherwise there is no need to quit - just send eof
M< select [~]<glob-pattern>...
MULTIPLEXER-IMPLEMENTED FUNCTIONALITY AFFECTING WHOLE SYSTEM
P> [!]<command> <args>...
- R< ?executing [!]<command>
- R< ?ack [!]<command> ok
+ R< ?nak|executing...ack... as above
C> !realtime kill|finish|start|start-manual
C> !save
simlog("command-in %s\n",ps->remain);
simlog_flush();
current_cmd= 0;
- current_cmd= some_needword_lookup(ps, toplevel_cmds, "command");
- if (!current_cmd) return;
+
+ if (!ps->remain[0]) return;
+ r= ps_word(ps); assert(!r);
+ current_cmd= some_lookup(ps,toplevel_cmds);
+ if (!current_cmd) {
+ oprintf(UPO,"nack unknown-command\n");
+ return;
+ }
oprintf(UPO, "executing %s\n",current_cmd->name);
if (sta_state < Sta_Run && !(current_cmd->xarg & CIXF_ANYSTA)) {
oprintf(UPO,"ack %s InvalidState : layout not ready\n",current_cmd->name);
#define some_lookup(ps, infos) \
((const typeof(infos[0])*) \
- any_lookup((ps),(infos),sizeof((infos)[0])))
+ any_lookup((ps),(infos),INT_MAX,sizeof((infos)[0])))
#define some_needword_lookup_counted(ps, infos, ninfos, what) \
((const typeof(infos[0])*) \
default: badusage("unknown -R suboption");
}
}
+ arg= 0;
break;
default: badusage("unknown option");
}