[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 4/8] lib: move parse_size_and_unit()
> On 23 Nov 2020, at 15:22, Jan Beulich <jbeulich@xxxxxxxx> wrote: > > ... into its own CU, to build it into an archive. > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> > Acked-by: Julien Grall <jgrall@xxxxxxxxxx> Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx> Cheers Bertrand > --- > xen/common/lib.c | 39 ---------------------------------- > xen/lib/Makefile | 1 + > xen/lib/parse-size.c | 50 ++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 51 insertions(+), 39 deletions(-) > create mode 100644 xen/lib/parse-size.c > > diff --git a/xen/common/lib.c b/xen/common/lib.c > index a224efa8f6e8..6cfa332142a5 100644 > --- a/xen/common/lib.c > +++ b/xen/common/lib.c > @@ -423,45 +423,6 @@ 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 ret; > - const char *s1; > - > - ret = simple_strtoull(s, &s1, 0); > - > - switch ( *s1 ) > - { > - case 'T': case 't': > - ret <<= 10; > - /* fallthrough */ > - case 'G': case 'g': > - ret <<= 10; > - /* fallthrough */ > - case 'M': case 'm': > - ret <<= 10; > - /* fallthrough */ > - case 'K': case 'k': > - ret <<= 10; > - /* fallthrough */ > - case 'B': case 'b': > - s1++; > - break; > - case '%': > - if ( ps ) > - break; > - /* fallthrough */ > - default: > - ret <<= 10; /* default to kB */ > - break; > - } > - > - if ( ps != NULL ) > - *ps = s1; > - > - return ret; > -} > - > typedef void (*ctor_func_t)(void); > extern const ctor_func_t __ctors_start[], __ctors_end[]; > > diff --git a/xen/lib/Makefile b/xen/lib/Makefile > index 764f3624b5f9..99f857540c99 100644 > --- a/xen/lib/Makefile > +++ b/xen/lib/Makefile > @@ -2,3 +2,4 @@ obj-$(CONFIG_X86) += x86/ > > lib-y += ctype.o > lib-y += list-sort.o > +lib-y += parse-size.o > diff --git a/xen/lib/parse-size.c b/xen/lib/parse-size.c > new file mode 100644 > index 000000000000..ec980cadfff3 > --- /dev/null > +++ b/xen/lib/parse-size.c > @@ -0,0 +1,50 @@ > +#include <xen/lib.h> > + > +unsigned long long parse_size_and_unit(const char *s, const char **ps) > +{ > + unsigned long long ret; > + const char *s1; > + > + ret = simple_strtoull(s, &s1, 0); > + > + switch ( *s1 ) > + { > + case 'T': case 't': > + ret <<= 10; > + /* fallthrough */ > + case 'G': case 'g': > + ret <<= 10; > + /* fallthrough */ > + case 'M': case 'm': > + ret <<= 10; > + /* fallthrough */ > + case 'K': case 'k': > + ret <<= 10; > + /* fallthrough */ > + case 'B': case 'b': > + s1++; > + break; > + case '%': > + if ( ps ) > + break; > + /* fallthrough */ > + default: > + ret <<= 10; /* default to kB */ > + break; > + } > + > + if ( ps != NULL ) > + *ps = s1; > + > + return ret; > +} > + > +/* > + * Local variables: > + * mode: C > + * c-file-style: "BSD" > + * c-basic-offset: 4 > + * tab-width: 4 > + * indent-tabs-mode: nil > + * End: > + */ > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |