From e6a19ba1a05f77f051187a6b1a828ee6d39ce052 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 29 Jun 2022 18:21:58 +0200 Subject: Cleanup: split libtar header, move to sub directory Some of the on-disk format internals are moved to a separate header and some of the stuff from internal.h is moved to that format header. C++ guards are added in addtion. Everything PAX related is moved to pax_header.c, some internal functions are marked as static. Signed-off-by: David Oberhollenzer --- lib/tar/number.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) (limited to 'lib/tar/number.c') diff --git a/lib/tar/number.c b/lib/tar/number.c index 50cb658..2f179df 100644 --- a/lib/tar/number.c +++ b/lib/tar/number.c @@ -6,7 +6,10 @@ */ #include "config.h" -#include "internal.h" +#include "tar/format.h" + +#include +#include int read_octal(const char *str, int digits, sqfs_u64 *out) { @@ -31,7 +34,7 @@ int read_octal(const char *str, int digits, sqfs_u64 *out) return 0; } -int read_binary(const char *str, int digits, sqfs_u64 *out) +static int read_binary(const char *str, int digits, sqfs_u64 *out) { sqfs_u64 x, ov, result = 0; bool first = true; @@ -74,20 +77,3 @@ int read_number(const char *str, int digits, sqfs_u64 *out) return read_octal(str, digits, out); } - -int pax_read_decimal(const char *str, sqfs_u64 *out) -{ - sqfs_u64 result = 0; - - while (*str >= '0' && *str <= '9') { - if (result > 0xFFFFFFFFFFFFFFFFUL / 10) { - fputs("numeric overflow parsing pax header\n", stderr); - return -1; - } - - result = (result * 10) + (*(str++) - '0'); - } - - *out = result; - return 0; -} -- cgit v1.2.3