aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2002-08-22 17:47:09 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2002-08-22 17:47:09 +0000
commit99b12543cf14681d32d4d3a57695458dadc89baf (patch)
treea19aaa212ae05f8a8d4746b4d54d91fcd1f2f87a
parent242e3b6bdee92f436bac418d4a0385055fcd7a41 (diff)
downloadbusybox-w32-99b12543cf14681d32d4d3a57695458dadc89baf.tar.gz
busybox-w32-99b12543cf14681d32d4d3a57695458dadc89baf.tar.bz2
busybox-w32-99b12543cf14681d32d4d3a57695458dadc89baf.zip
Run through ident, fix comments
-rw-r--r--archival/libunarchive/get_header_tar.c98
1 files changed, 49 insertions, 49 deletions
diff --git a/archival/libunarchive/get_header_tar.c b/archival/libunarchive/get_header_tar.c
index 668fa5a2c..1ba37d6d7 100644
--- a/archival/libunarchive/get_header_tar.c
+++ b/archival/libunarchive/get_header_tar.c
@@ -20,24 +20,24 @@
20#include "unarchive.h" 20#include "unarchive.h"
21#include "libbb.h" 21#include "libbb.h"
22 22
23file_header_t *get_header_tar(FILE *tar_stream) 23file_header_t *get_header_tar(FILE * tar_stream)
24{ 24{
25 union { 25 union {
26 unsigned char raw[512]; 26 unsigned char raw[512];
27 struct { 27 struct {
28 char name[100]; /* 0-99 */ 28 char name[100]; /* 0-99 */
29 char mode[8]; /* 100-107 */ 29 char mode[8]; /* 100-107 */
30 char uid[8]; /* 108-115 */ 30 char uid[8]; /* 108-115 */
31 char gid[8]; /* 116-123 */ 31 char gid[8]; /* 116-123 */
32 char size[12]; /* 124-135 */ 32 char size[12]; /* 124-135 */
33 char mtime[12]; /* 136-147 */ 33 char mtime[12]; /* 136-147 */
34 char chksum[8]; /* 148-155 */ 34 char chksum[8]; /* 148-155 */
35 char typeflag; /* 156-156 */ 35 char typeflag; /* 156-156 */
36 char linkname[100]; /* 157-256 */ 36 char linkname[100]; /* 157-256 */
37 char magic[6]; /* 257-262 */ 37 char magic[6]; /* 257-262 */
38 char version[2]; /* 263-264 */ 38 char version[2]; /* 263-264 */
39 char uname[32]; /* 265-296 */ 39 char uname[32]; /* 265-296 */
40 char gname[32]; /* 297-328 */ 40 char gname[32]; /* 297-328 */
41 char devmajor[8]; /* 329-336 */ 41 char devmajor[8]; /* 329-336 */
42 char devminor[8]; /* 337-344 */ 42 char devminor[8]; /* 337-344 */
43 char prefix[155]; /* 345-499 */ 43 char prefix[155]; /* 345-499 */
@@ -55,8 +55,7 @@ file_header_t *get_header_tar(FILE *tar_stream)
55 if (fread(tar.raw, 1, 512, tar_stream) != 512) { 55 if (fread(tar.raw, 1, 512, tar_stream) != 512) {
56 /* Unfortunatly its common for tar files to have all sorts of 56 /* Unfortunatly its common for tar files to have all sorts of
57 * trailing garbage, fail silently */ 57 * trailing garbage, fail silently */
58// error_msg("Couldnt read header"); 58 return (NULL);
59 return(NULL);
60 } 59 }
61 archive_offset += 512; 60 archive_offset += 512;
62 61
@@ -67,25 +66,25 @@ file_header_t *get_header_tar(FILE *tar_stream)
67#ifdef CONFIG_FEATURE_TAR_OLD_FORMAT 66#ifdef CONFIG_FEATURE_TAR_OLD_FORMAT
68 if (strncmp(tar.formated.magic, "\0\0\0\0\0", 5) != 0) 67 if (strncmp(tar.formated.magic, "\0\0\0\0\0", 5) != 0)
69#endif 68#endif
70 return(NULL); 69 return (NULL);
71 } 70 }
72 71
73 /* If there is no filename its an empty header, skip it */ 72 /* If there is no filename its an empty header, skip it */
74 if (tar.formated.name[0] == 0) { 73 if (tar.formated.name[0] == 0) {
75 return(NULL); 74 return (NULL);
76 } 75 }
77 76
78 /* Do checksum on headers */ 77 /* Do checksum on headers */
79 for (i = 0; i < 148 ; i++) { 78 for (i = 0; i < 148; i++) {
80 sum += tar.raw[i]; 79 sum += tar.raw[i];
81 } 80 }
82 sum += ' ' * 8; 81 sum += ' ' * 8;
83 for (i = 156; i < 512 ; i++) { 82 for (i = 156; i < 512; i++) {
84 sum += tar.raw[i]; 83 sum += tar.raw[i];
85 } 84 }
86 if (sum != strtol(tar.formated.chksum, NULL, 8)) { 85 if (sum != strtol(tar.formated.chksum, NULL, 8)) {
87 error_msg("Invalid tar header checksum"); 86 error_msg("Invalid tar header checksum");
88 return(NULL); 87 return (NULL);
89 } 88 }
90 89
91 /* convert to type'ed variables */ 90 /* convert to type'ed variables */
@@ -93,44 +92,45 @@ file_header_t *get_header_tar(FILE *tar_stream)
93 if (tar.formated.prefix[0] == 0) { 92 if (tar.formated.prefix[0] == 0) {
94 tar_entry->name = xstrdup(tar.formated.name); 93 tar_entry->name = xstrdup(tar.formated.name);
95 } else { 94 } else {
96 tar_entry->name = concat_path_file(tar.formated.prefix, tar.formated.name); 95 tar_entry->name =
96 concat_path_file(tar.formated.prefix, tar.formated.name);
97 } 97 }
98 98
99 tar_entry->mode = strtol(tar.formated.mode, NULL, 8); 99 tar_entry->mode = strtol(tar.formated.mode, NULL, 8);
100#ifdef CONFIG_FEATURE_TAR_OLD_FORMAT 100#ifdef CONFIG_FEATURE_TAR_OLD_FORMAT
101 switch (tar.formated.typeflag) { 101 switch (tar.formated.typeflag) {
102 case 0: 102 case 0:
103 tar_entry->mode |= S_IFREG; 103 tar_entry->mode |= S_IFREG;
104 break; 104 break;
105 case 1: 105 case 1:
106 error_msg("internal hard link not handled\n"); 106 error_msg("internal hard link not handled\n");
107 break; 107 break;
108 case 2: 108 case 2:
109 tar_entry->mode |= S_IFLNK; 109 tar_entry->mode |= S_IFLNK;
110 break; 110 break;
111 case 3: 111 case 3:
112 tar_entry->mode |= S_IFCHR; 112 tar_entry->mode |= S_IFCHR;
113 break; 113 break;
114 case 4: 114 case 4:
115 tar_entry->mode |= S_IFBLK; 115 tar_entry->mode |= S_IFBLK;
116 break; 116 break;
117 case 5: 117 case 5:
118 tar_entry->mode |= S_IFDIR; 118 tar_entry->mode |= S_IFDIR;
119 break; 119 break;
120 case 6: 120 case 6:
121 tar_entry->mode |= S_IFIFO; 121 tar_entry->mode |= S_IFIFO;
122 break; 122 break;
123 } 123 }
124#endif 124#endif
125 tar_entry->uid = strtol(tar.formated.uid, NULL, 8); 125 tar_entry->uid = strtol(tar.formated.uid, NULL, 8);
126 tar_entry->gid = strtol(tar.formated.gid, NULL, 8); 126 tar_entry->gid = strtol(tar.formated.gid, NULL, 8);
127 tar_entry->size = strtol(tar.formated.size, NULL, 8); 127 tar_entry->size = strtol(tar.formated.size, NULL, 8);
128 tar_entry->mtime = strtol(tar.formated.mtime, NULL, 8); 128 tar_entry->mtime = strtol(tar.formated.mtime, NULL, 8);
129 tar_entry->link_name = strlen(tar.formated.linkname) ? 129 tar_entry->link_name =
130 xstrdup(tar.formated.linkname) : NULL; 130 strlen(tar.formated.linkname) ? xstrdup(tar.formated.linkname) : NULL;
131 tar_entry->device = (strtol(tar.formated.devmajor, NULL, 8) << 8) + 131 tar_entry->device =
132 (strtol(tar.formated.devmajor, NULL, 8) << 8) +
132 strtol(tar.formated.devminor, NULL, 8); 133 strtol(tar.formated.devminor, NULL, 8);
133 134
134 return(tar_entry); 135 return (tar_entry);
135} 136}
136