diff options
Diffstat (limited to 'Build/source/texk/kpathsea/access.c')
-rw-r--r-- | Build/source/texk/kpathsea/access.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/Build/source/texk/kpathsea/access.c b/Build/source/texk/kpathsea/access.c deleted file mode 100644 index 5e53d2965bf..00000000000 --- a/Build/source/texk/kpathsea/access.c +++ /dev/null @@ -1,95 +0,0 @@ -/* access -- test for access permissions of a file. - - Copyright 2008, 2009-2019 Karl Berry. - Copyright 1997-2001, 2005 Olaf Weber. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this software; if not, see <http://www.gnu.org/licenses/>. */ - -#include <kpathsea/config.h> -#include <kpathsea/c-unistd.h> -#include <kpathsea/c-memstr.h> - -/* - * access mode x - * Returns 0 is x exists and can be accessed in accordance with mode. - * We use this rather than test because test looks at the permissions - * only, which doesn't take read-only file systems into account. - */ - -int -main (int argc, char **argv) -{ - int mode; - int status; - char * i; - - if (argc > 1 && strcmp (argv[1], "--help") == 0) { - printf("Usage: %s -MODE FILE\n\ - MODE is one or more of rwx. Exit successfully if FILE exists and is\n\ - readable (r), writable (w), or executable (x).\n\ -\n\ ---help display this help and exit\n\ ---version output version information and exit\n\n", argv[0]); - fputs ("Email bug reports to tex-k@tug.org.\n", stdout); - exit(0); - } else if (argc > 1 && strcmp (argv[1], "--version") == 0) { - printf ("%s (%s)\n\ -Copyright (C) 2009 Olaf Weber & Karl Berry.\n\ -There is NO warranty. You may redistribute this software\n\ -under the terms of the GNU General Public License\n\ -For more information about these matters, see the file named COPYING.\n\ -Primary author of %s: Olaf Weber.\n", -argv[0], KPSEVERSION, argv[0]); - exit (0); - } - - /* insist on exactly two args */ - if (argc != 3) { - fprintf(stderr, "%s: Need exactly two arguments.\n\ -Try `%s --help' for more information.\n", argv[0], argv[0]); - exit(1); - } - - /* The option parsing is somewhat primitive. The mode must be - * specified as a single parameter: an optional '-' followed by - * zero or more letters 'r', 'w', or 'x'. This may change. - */ - mode = 0; - i = argv[1]; - for (i = argv[1]; *i; ++i) - switch (*i) { - case 'r': mode |= R_OK; break; - case 'w': mode |= W_OK; break; -#if defined(_WIN32) -/* access() crashes for unsupported test of x bit */ - case 'x': break; -#else - case 'x': mode |= X_OK; break; -#endif - case '-': if (i == argv[1]) break; - default: - fprintf(stderr, "%s: Invalid MODE.\n", argv[0]); - exit(1); - } - - status = access(argv[2], mode); - - /* fail if the access call failed */ - if (status != 0) { - return 1; - } - - /* otherwise, succeed */ - return 0; -} |