At Sun, 25 Aug 2013 20:27:28 +0800, Liu Yuan wrote: > > And make strnumber() take only one parameter instead of lengthy 3. > > Signed-off-by: Liu Yuan <[email protected]> > --- > dog/common.c | 43 +++++++++++++++++++++++++------------------ > dog/dog.h | 3 ++- > dog/node.c | 36 +++++++++++++----------------------- > dog/vdi.c | 40 ++++++++++++++++------------------------ > 4 files changed, 56 insertions(+), 66 deletions(-) > > diff --git a/dog/common.c b/dog/common.c > index b185d4e..062eedd 100644 > --- a/dog/common.c > +++ b/dog/common.c > @@ -13,15 +13,25 @@ > #include "sha1.h" > #include "sockfd_cache.h" > > -char *size_to_str(uint64_t _size, char *str, int str_size) > +char *strnumber(uint64_t size) > +{ > + return strnumber_raw(size, raw_output); > +} > + > +char *strnumber_raw(uint64_t _size, bool raw) > { > const char *units[] = {"MB", "GB", "TB", "PB", "EB", "ZB", "YB"}; > + static struct size_str { > + char str[UINT64_DECIMAL_SIZE]; > + } s[1024]; /* Is this big enough ? */
How about adding __thread to make this function thread-safe? Though no one calls this function from the worker thread now, we may do it in future. Thanks, Kazutaka -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
