ref: 7fe84c4ea9d77842c68b039a8c0211c7e9bbb75a
parent: b1e550890f8b4cf87ec9c720854dda6b112fcd59
author: aiju <aiju@phicode.de>
date: Sat Jun 25 17:48:28 EDT 2011
5e: changed argument behaviour
--- a/sys/src/cmd/5e/5e.c
+++ b/sys/src/cmd/5e/5e.c
@@ -80,6 +80,22 @@
return 1;
}
+static void
+dotext(int argc, char **argv)
+{+ char *file;
+
+ if(**argv == '/' || **argv == '.' || **argv == '#') {+ if(loadtext(*argv, argc, argv) < 0)
+ sysfatal("loadtext: %r");+ return;
+ }
+ file = smprint("/bin/%s", *argv);+ if(loadtext(file, argc, argv) < 0)
+ sysfatal("loadtext: %r");+ free(file);
+}
+
void
main(int argc, char **argv)
{@@ -96,13 +112,12 @@
if(rfork(RFREND | RFNAMEG | RFENVG) < 0)
sysfatal("rfork: %r");atexit(cleanup);
- if(nflag)
+ if(!nflag)
adjustns();
if(pflag)
initfs("armproc", "/proc");initproc();
- if(loadtext(argv[0], argc, argv) < 0)
- sysfatal("%r");+ dotext(argc, argv);
atnotify(notehandler, 1);
for(;;) {if(ultraverbose)
--
⑨