diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-01 14:11:51 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-01 14:11:51 +0200 |
commit | 79c333899d318bf9b1eec3837833c7f0229d1906 (patch) | |
tree | d31f6513d6284bcc8dc9a7ec8523ec2fdfa1944c /lib/util | |
parent | 3b43f166629efbb34e1b0ceeaa2f06452d0fed2f (diff) |
Move some application specific stuff out of libutil
This commit does the following:
- canonicalize_name is moved to libfstree
- source_date_epoch is only used inside libfstree, so it's also moved
over and can later be completely internalized
- print_version is moved over to sqfshelper. Mainly so it doesn't end
up in libsquashfs.so for no sane reason.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/util')
-rw-r--r-- | lib/util/canonicalize_name.c | 61 | ||||
-rw-r--r-- | lib/util/print_version.c | 29 | ||||
-rw-r--r-- | lib/util/source_date_epoch.c | 45 |
3 files changed, 0 insertions, 135 deletions
diff --git a/lib/util/canonicalize_name.c b/lib/util/canonicalize_name.c deleted file mode 100644 index f99bc2a..0000000 --- a/lib/util/canonicalize_name.c +++ /dev/null @@ -1,61 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * canonicalize_name.c - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#include "config.h" - -#include "util.h" - -static void normalize_slashes(char *filename) -{ - char *dst = filename, *src = filename; - - while (*src == '/' || *src == '\\') - ++src; - - while (*src != '\0') { - if (*src == '/' || *src == '\\') { - while (*src == '/' || *src == '\\') - ++src; - if (*src == '\0') - break; - *(dst++) = '/'; - } else { - *(dst++) = *(src++); - } - } - - *dst = '\0'; -} - -int canonicalize_name(char *filename) -{ - char *dst = filename, *src = filename; - - normalize_slashes(filename); - - while (*src != '\0') { - if (src[0] == '.') { - if (src[1] == '\0') - break; - if (src[1] == '/') { - src += 2; - continue; - } - if (src[1] == '.' && (src[2] == '/' || src[2] == '\0')) - return -1; - } - - while (*src != '\0' && *src != '/') - *(dst++) = *(src++); - - if (*src == '/') - *(dst++) = *(src++); - } - - *dst = '\0'; - normalize_slashes(filename); - return 0; -} diff --git a/lib/util/print_version.c b/lib/util/print_version.c deleted file mode 100644 index b23e2bd..0000000 --- a/lib/util/print_version.c +++ /dev/null @@ -1,29 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * print_version.c - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#include "config.h" - -#include "util.h" - -#include <stdio.h> - -#define LICENSE_SHORT "GPLv3+" -#define LICENSE_LONG "GNU GPL version 3 or later" -#define LICENSE_URL "https://gnu.org/licenses/gpl.html" - -extern char *__progname; - -static const char *version_string = -"%s (%s) %s\n" -"Copyright (c) 2019 David Oberhollenzer et al\n" -"License " LICENSE_SHORT ": " LICENSE_LONG " <" LICENSE_URL ">.\n" -"This is free software: you are free to change and redistribute it.\n" -"There is NO WARRANTY, to the extent permitted by law.\n"; - -void print_version(void) -{ - printf(version_string, __progname, PACKAGE_NAME, PACKAGE_VERSION); -} diff --git a/lib/util/source_date_epoch.c b/lib/util/source_date_epoch.c deleted file mode 100644 index 1397e52..0000000 --- a/lib/util/source_date_epoch.c +++ /dev/null @@ -1,45 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * source_date_epoch.h - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#include "config.h" -#include "util.h" - -#include <stdlib.h> -#include <stdio.h> -#include <ctype.h> - -uint32_t get_source_date_epoch(void) -{ - const char *str, *ptr; - uint32_t x, tval = 0; - - str = getenv("SOURCE_DATE_EPOCH"); - - if (str == NULL || *str == '\0') - return 0; - - for (ptr = str; *ptr != '\0'; ++ptr) { - if (!isdigit(*ptr)) - goto fail_nan; - - x = (*ptr) - '0'; - - if (tval > (UINT32_MAX - x) / 10) - goto fail_ov; - - tval = tval * 10 + x; - } - - return tval; -fail_ov: - fprintf(stderr, "WARNING: SOURCE_DATE_EPOCH=%s does not fit into " - "32 bit integer\n", str); - return 0; -fail_nan: - fprintf(stderr, "WARNING: SOURCE_DATE_EPOCH=%s is not a positive " - "number\n", str); - return 0; -} |