summaryrefslogtreecommitdiffstats
path: root/Utilities/cmtar/decode.c
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2009-10-30 17:15:06 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2009-10-30 17:15:06 (GMT)
commit042587c6312e7ddb794dea912f6172b08837ba48 (patch)
tree773f0005ec13407dd475e57ee528e37ae89b2fef /Utilities/cmtar/decode.c
parentfb51d98562a26b6dcde7d3597938a0b707b6b881 (diff)
downloadCMake-042587c6312e7ddb794dea912f6172b08837ba48.zip
CMake-042587c6312e7ddb794dea912f6172b08837ba48.tar.gz
CMake-042587c6312e7ddb794dea912f6172b08837ba48.tar.bz2
Remove libtar
Diffstat (limited to 'Utilities/cmtar/decode.c')
-rw-r--r--Utilities/cmtar/decode.c140
1 files changed, 0 insertions, 140 deletions
diff --git a/Utilities/cmtar/decode.c b/Utilities/cmtar/decode.c
deleted file mode 100644
index b183010..0000000
--- a/Utilities/cmtar/decode.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-** Copyright 1998-2003 University of Illinois Board of Trustees
-** Copyright 1998-2003 Mark D. Roth
-** All rights reserved.
-**
-** decode.c - libtar code to decode tar header blocks
-**
-** Mark D. Roth <roth@uiuc.edu>
-** Campus Information Technologies and Educational Services
-** University of Illinois at Urbana-Champaign
-*/
-
-#include <libtarint/internal.h>
-
-#include <stdio.h>
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-# include <libtar/compat.h>
-#else
-# ifdef HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# endif
-#endif
-
-#ifndef WIN32
-#include <pwd.h>
-#include <grp.h>
-#endif
-
-#ifdef STDC_HEADERS
-# include <string.h>
-#endif
-
-
-/* determine full path name */
-/* caller must "free" returned pointer when done with it */
-/* th_get_pathname return values come directly from strdup */
-char *
-th_get_pathname(TAR *t)
-{
- char filename[TAR_MAXPATHLEN];
-
- if (t->th_buf.gnu_longname)
- return strdup(t->th_buf.gnu_longname);
-
- if (t->th_buf.prefix[0] != '\0')
- {
- snprintf(filename, sizeof(filename), "%.155s/%.100s",
- t->th_buf.prefix, t->th_buf.name);
- return strdup(filename);
- }
-
- snprintf(filename, sizeof(filename), "%.100s", t->th_buf.name);
- return strdup(filename);
-}
-
-
-uid_t
-th_get_uid(TAR *t)
-{
- int uid;
-#ifndef WIN32
- struct passwd *pw;
-
- pw = getpwnam(t->th_buf.uname);
- if (pw != NULL)
- return pw->pw_uid;
-
- /* if the password entry doesn't exist */
-#endif
- sscanf(t->th_buf.uid, "%o", &uid);
- return uid;
-}
-
-
-gid_t
-th_get_gid(TAR *t)
-{
- int gid;
-#ifndef WIN32
- struct group *gr;
-
- gr = getgrnam(t->th_buf.gname);
- if (gr != NULL)
- return gr->gr_gid;
-
- /* if the group entry doesn't exist */
-#endif
- sscanf(t->th_buf.gid, "%o", &gid);
- return gid;
-}
-
-
-mode_t
-th_get_mode(TAR *t)
-{
- mode_t mode;
-
- mode = (mode_t)oct_to_int(t->th_buf.mode);
- if (! (mode & S_IFMT))
- {
- switch (t->th_buf.typeflag)
- {
-#ifndef WIN32
- case SYMTYPE:
- mode |= S_IFLNK;
- break;
-#endif
- case CHRTYPE:
- mode |= S_IFCHR;
- break;
- case BLKTYPE:
- mode |= S_IFBLK;
- break;
- case DIRTYPE:
- mode |= S_IFDIR;
- break;
-#ifndef WIN32
- case FIFOTYPE:
- mode |= S_IFIFO;
- break;
-#endif
- case AREGTYPE:
- if (t->th_buf.name[strlen(t->th_buf.name) - 1] == '/')
- {
- mode |= S_IFDIR;
- break;
- }
- /* FALLTHROUGH */
- case LNKTYPE:
- case REGTYPE:
- default:
- mode |= S_IFREG;
- }
- }
-
- return mode;
-}
-
-