Modify parse_size_and_unit() to support a value followed by a '%'
character. In this case ps is required to be non-NULL to ensure the
caller can detect that case. The returned value will be the integer
value s was pointing to and *ps will point to the '%' character.

Signed-off-by: Juergen Gross <[email protected]>
---
 xen/common/lib.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/common/lib.c b/xen/common/lib.c
index 62330205fe..8ebec811b3 100644
--- a/xen/common/lib.c
+++ b/xen/common/lib.c
@@ -476,6 +476,10 @@ unsigned long long parse_size_and_unit(const char *s, 
const char **ps)
     case 'B': case 'b':
         s1++;
         break;
+    case '%':
+        if ( ps )
+            break;
+        /* fallthrough */
     default:
         ret <<= 10; /* default to kB */
         break;
-- 
2.16.4


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to