|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 12/14 RESEND] xenpm: Factor out a non-fatal cpuid_parse variant
Allow cpuid_parse to be re-used without terminating xenpm. HWP will
re-use it to optionally parse a cpuid. Unlike other uses of
cpuid_parse, parse_hwp_opts will take a variable number of arguments and
cannot just check argc.
Signed-off-by: Jason Andryuk <jandryuk@xxxxxxxxx>
---
v2:
Retained because cpuid_parse handles numeric cpu numbers and "all".
---
tools/misc/xenpm.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index b2defde0d4..6e74606970 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -79,17 +79,26 @@ void help_func(int argc, char *argv[])
show_help();
}
-static void parse_cpuid(const char *arg, int *cpuid)
+static int parse_cpuid_non_fatal(const char *arg, int *cpuid)
{
if ( sscanf(arg, "%d", cpuid) != 1 || *cpuid < 0 )
{
if ( strcasecmp(arg, "all") )
- {
- fprintf(stderr, "Invalid CPU identifier: '%s'\n", arg);
- exit(EINVAL);
- }
+ return -1;
+
*cpuid = -1;
}
+
+ return 0;
+}
+
+static void parse_cpuid(const char *arg, int *cpuid)
+{
+ if ( parse_cpuid_non_fatal(arg, cpuid) )
+ {
+ fprintf(stderr, "Invalid CPU identifier: '%s'\n", arg);
+ exit(EINVAL);
+ }
}
static void parse_cpuid_and_int(int argc, char *argv[],
--
2.40.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |