From 4aca87515a5083ae0e31ce3177189fd43b6d05ac Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 3 Jan 2015 13:58:15 +0100 Subject: patch to Vanilla Tomato 1.28 --- .../busybox/e2fsprogs/old_e2fsprogs/e2p/ostype.c | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 release/src/router/busybox/e2fsprogs/old_e2fsprogs/e2p/ostype.c (limited to 'release/src/router/busybox/e2fsprogs/old_e2fsprogs/e2p/ostype.c') diff --git a/release/src/router/busybox/e2fsprogs/old_e2fsprogs/e2p/ostype.c b/release/src/router/busybox/e2fsprogs/old_e2fsprogs/e2p/ostype.c new file mode 100644 index 00000000..1abe2ba9 --- /dev/null +++ b/release/src/router/busybox/e2fsprogs/old_e2fsprogs/e2p/ostype.c @@ -0,0 +1,74 @@ +/* vi: set sw=4 ts=4: */ +/* + * getostype.c - Get the Filesystem OS type + * + * Copyright (C) 2004,2005 Theodore Ts'o + * + * This file can be redistributed under the terms of the GNU Library General + * Public License + */ + +#include "e2p.h" +#include +#include + +static const char *const os_tab[] = + { "Linux", + "Hurd", + "Masix", + "FreeBSD", + "Lites", + 0 }; + +/* + * Convert an os_type to a string + */ +char *e2p_os2string(int os_type) +{ + const char *os; + char *ret; + + if (os_type <= EXT2_OS_LITES) + os = os_tab[os_type]; + else + os = "(unknown os)"; + + ret = xstrdup(os); + return ret; +} + +/* + * Convert an os_type to a string + */ +int e2p_string2os(char *str) +{ + const char *const *cpp; + int i = 0; + + for (cpp = os_tab; *cpp; cpp++, i++) { + if (!strcasecmp(str, *cpp)) + return i; + } + return -1; +} + +#ifdef TEST_PROGRAM +int main(int argc, char **argv) +{ + char *s; + int i, os; + + for (i=0; i <= EXT2_OS_LITES; i++) { + s = e2p_os2string(i); + os = e2p_string2os(s); + printf("%d: %s (%d)\n", i, s, os); + if (i != os) { + fprintf(stderr, "Failure!\n"); + exit(1); + } + } + exit(0); +} +#endif + + -- cgit v1.2.3-54-g00ecf