|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 1/3] xen: introduce parse_size_and_unit_or_int
Introduce parse_size_and_unit_or_int() similar to parse_size_and_unit()
but not defaulting to kbytes in case the parameter is a number followed
by a specified character.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
xen/common/lib.c | 11 +++++++++--
xen/include/xen/lib.h | 2 ++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/xen/common/lib.c b/xen/common/lib.c
index 62330205fe..262e9f1053 100644
--- a/xen/common/lib.c
+++ b/xen/common/lib.c
@@ -452,7 +452,8 @@ uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c)
#endif
}
-unsigned long long parse_size_and_unit(const char *s, const char **ps)
+unsigned long long parse_size_and_unit_or_int(const char *s, const char **ps,
+ char no_size)
{
unsigned long long ret;
const char *s1;
@@ -477,7 +478,8 @@ unsigned long long parse_size_and_unit(const char *s, const
char **ps)
s1++;
break;
default:
- ret <<= 10; /* default to kB */
+ if ( *s1 && *s1 != no_size )
+ ret <<= 10; /* default to kB */
break;
}
@@ -487,6 +489,11 @@ unsigned long long parse_size_and_unit(const char *s,
const char **ps)
return ret;
}
+unsigned long long parse_size_and_unit(const char *s, const char **ps)
+{
+ return parse_size_and_unit_or_int(s, ps, '\0');
+}
+
typedef void (*ctor_func_t)(void);
extern const ctor_func_t __ctors_start[], __ctors_end[];
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 972fc843fa..4db6e6419c 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -153,6 +153,8 @@ unsigned long long simple_strtoull(
const char *cp,const char **endp, unsigned int base);
unsigned long long parse_size_and_unit(const char *s, const char **ps);
+unsigned long long parse_size_and_unit_or_int(const char *s, const char **ps,
+ char no_size);
uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
--
2.16.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |