From 097165066c0f83c57e4f4cce02225c601deb2f02 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Mon, 31 Aug 2026 08:23:26 +0000 Subject: path --- src/path.cc | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/path.cc (limited to 'src/path.cc') diff --git a/src/path.cc b/src/path.cc new file mode 100644 index 0000000..519fd20 --- /dev/null +++ b/src/path.cc @@ -0,0 +1,42 @@ +#include "path.h" + +namespace ov4 +{ + +using namespace std; + +string find_cmd(char* s) +{ + string tmp = s; + return find_cmd(tmp); +} + +string find_cmd(string s) +{ + if (s.size() == 0) return "/"; + if (s[0] == '/') return s; + + string path = getenv("PATH"); + size_t i = 0, j = 0, l = path.size(); + while (true) + { + for (; j < l; j++) + if (path[j] == ':') + break; + + string cmd = path.substr(i, j-i) + '/' +s; + cout << cmd << endl; + if (access(cmd.c_str(), F_OK) == 0) + return cmd; + + if (j == l) + return "/"; + + j++; + i=j; + + } +} + + +} -- cgit v1.3.1-4-g156e