From 768dcd59b4da32d9a766b8ae00a754a851e76a2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Sun, 20 Sep 1998 01:29:03 -0700
Subject: [PATCH] new nt tools

Rev: NT/tools/grep:1.1
Rev: NT/tools/mv:1.1
Rev: NT/tools/nm:1.1
---
 NT/tools/grep | 11 +++++++++++
 NT/tools/mv   | 26 ++++++++++++++++++++++++++
 NT/tools/nm   | 22 ++++++++++++++++++++++
 3 files changed, 59 insertions(+)
 create mode 100755 NT/tools/grep
 create mode 100755 NT/tools/mv
 create mode 100755 NT/tools/nm

diff --git a/NT/tools/grep b/NT/tools/grep
new file mode 100755
index 0000000000..8e99685953
--- /dev/null
+++ b/NT/tools/grep
@@ -0,0 +1,11 @@
+#!/usr/local/bin/pike
+
+inherit "lib.pike";
+
+int main(int argc, string *argv)
+{
+  if(argc>2 && sscanf(argv[-1],"/usr/%s"))
+    exit(1);
+
+  exece(find_next_in_path(argv[0],"grep"),argv[1..]);
+}
diff --git a/NT/tools/mv b/NT/tools/mv
new file mode 100755
index 0000000000..15bda64ea0
--- /dev/null
+++ b/NT/tools/mv
@@ -0,0 +1,26 @@
+#!/usr/local/bin/pike
+
+inherit "lib.pike";
+
+int main(int argc, string *argv)
+{
+  if(sscanf(argv[-1],"%*[a-zA-Z]:%*s")==2)
+  {
+    argv[0]="rename";
+    if(argv[1]=="-c") argv=argv[..0]+argv[2..];
+    exit(do_cmd( Array.map(argv,fixpath)));
+  }else{
+    argv[0]=find_next_in_path(argv[0],"mv");
+    if(file_stat(argv[1]+".exe"))
+    {
+       string *cmd=({argv[0],argv[1]+".exe",argv[-1]});
+       mixed s=file_stat(cmd[-1]);
+       if(!s || s[1]!=-2) cmd[-1]+=".exe";
+
+       int ret=Process.create_process(cmd)->wait();
+       if(ret) exit(ret);
+    }
+    exece(argv[0],argv[1..]);
+    exit(69);
+  }
+}
diff --git a/NT/tools/nm b/NT/tools/nm
new file mode 100755
index 0000000000..ddff7dbd9b
--- /dev/null
+++ b/NT/tools/nm
@@ -0,0 +1,22 @@
+#!/usr/local/bin/pike
+
+inherit "lib.pike";
+
+int main(int argc, string *argv)
+{
+  string ext=reverse(argv[-1]);
+  sscanf(ext,"%s.",ext);
+  ext=reverse(ext);
+  switch(ext)
+  {
+    case "a":
+    case "lib":
+    case "dll":
+      argv[0]="wlib";
+      exit(do_cmd( Array.map(argv,fixpath)));
+
+    default:
+      exece(find_next_in_path(argv[0],"nm"),argv[1..]);
+      exit(69);
+  }
+}
-- 
GitLab