git: 9front

Download patch

ref: 6db5fb4901669fd34c3d234239cff8946e1baa65
parent: ed5104d79abec1f9f5b4c2b3aceba723de837a3b
author: Ori Bernstein <ori@eigenstate.org>
date: Fri Aug 5 18:46:08 EDT 2022

src: search for binaries in path, not random places

it's confusing and overly cute when 'src notinpath' works.
only accept paths that you can execute.

--- a/rc/bin/src
+++ b/rc/bin/src
@@ -1,7 +1,6 @@
 #!/bin/rc
 
 rfork e
-path=(/bin/)
 
 sym = 'threadmain?z
 	main?z'
@@ -46,12 +45,15 @@
 		usage
 	}
 
-if(~ $#* 0) usage
-
-for(i){
-	if(test -f $i) go $i
-	if not if(test -f /bin/$i) go /bin/$i
-	if not if(test -f /bin/*/$i) go /bin/*/$i
-	if not if(test -f /bin/*/*/$i) go /bin/*/*/$i
-	if not echo 'src: can''t find '$i
+if(~ $#* 0)
+	usage
+for(i in $*){
+	if(~ $i /*){
+		test -f $i && go $i && exit
+	}
+	if not{
+		for(f in $path^/^$i)
+			test -f $f && go $f && exit
+	}
+	echo 'src: can''t find '$i
 }
--