The previous shell script implementation accepted shorter path values
that omitted initial parts before the pcie bus node by only checking if
the configured path is included in the determined path
Add support for doing the same thing here
Signed-off-by: Felix Fietkau <nbd@nbd.name>
char buf[128];
struct dirent *e;
const char *cur_path;
+ int cur_path_len;
+ int path_len;
int idx = -1;
DIR *d;
if (!path)
return -1;
+ path_len = strlen(path);
+ if (!path_len)
+ return -1;
+
d = opendir("/sys/class/ieee80211");
if (!d)
return -1;
if (!cur_path)
continue;
- if (strcmp(cur_path, path) != 0)
+ cur_path_len = strlen(cur_path);
+ if (cur_path_len < path_len)
+ continue;
+
+ if (strcmp(cur_path + cur_path_len - path_len, path) != 0)
continue;
snprintf(buf, sizeof(buf), "/sys/class/ieee80211/%s/index", e->d_name);