aboutsummaryrefslogtreecommitdiff
path: root/utils/uvol
diff options
context:
space:
mode:
Diffstat (limited to 'utils/uvol')
-rw-r--r--utils/uvol/files/uvol13
1 files changed, 12 insertions, 1 deletions
diff --git a/utils/uvol/files/uvol b/utils/uvol/files/uvol
index 6a5a82c13..a4f023ffd 100644
--- a/utils/uvol/files/uvol
+++ b/utils/uvol/files/uvol
@@ -64,7 +64,18 @@ if (!backend) {
exit(2);
}
-let cmd = shift(ARGV);
+// The below code is needed as older versions of ucode pass the complete cmdline via ARGV
+// Once we can rely in more recent ucode the while loop can be replaced by simply
+// let cmd = shift(ARGV);
+let skip = null;
+let cmd = null;
+let skip_argv = ["/usr/bin/ucode", "-R", "/usr/sbin/uvol"];
+while (skip = shift(ARGV)) {
+ if (skip != shift(skip_argv)) {
+ cmd = skip;
+ break;
+ }
+}
if (!cmd || cmd == "-h" || cmd == "help") {
printf("%s", help_output);