@@ -44,7 +44,13 @@ int tar_list(const char * inputFilePath, int flags) {
44
44
45
45
finalize :
46
46
if (ret != ARCHIVE_OK ) {
47
- fprintf (stdout , "%s\n" , archive_error_string (ar ));
47
+ const char * errorMessage = archive_error_string (ar );
48
+
49
+ if (errorMessage == NULL || errorMessage [0 ] == '\0' ) {
50
+ fprintf (stderr , "unknown error.\n" );
51
+ } else {
52
+ fprintf (stderr , "%s\n" , errorMessage );
53
+ }
48
54
}
49
55
50
56
archive_read_close (ar );
@@ -97,11 +103,9 @@ int tar_extract(const char * outputDir, const char * inputFilePath, int flags, b
97
103
const char * entry_pathname = archive_entry_pathname (entry );
98
104
99
105
if (stripComponentsNumber > 0U ) {
100
- size_t entry_pathname_length = strlen (entry_pathname );
101
-
102
- for (size_t i = 0 ; i < entry_pathname_length ; i ++ ) {
106
+ for (size_t i = 0 ; entry_pathname [i ] != '\0' ; i ++ ) {
103
107
if (entry_pathname [i ] == '/' ) {
104
- entry_pathname = entry_pathname + i + 1U ;
108
+ entry_pathname += i + 1U ;
105
109
break ;
106
110
}
107
111
}
@@ -131,10 +135,9 @@ int tar_extract(const char * outputDir, const char * inputFilePath, int flags, b
131
135
132
136
if (hardlinkname != NULL ) {
133
137
if (stripComponentsNumber > 0U ) {
134
- size_t hardlinkname_length = strlen (hardlinkname );
135
- for (size_t i = 0 ; i < hardlinkname_length ; i ++ ) {
138
+ for (size_t i = 0 ; hardlinkname [i ] != '\0' ; i ++ ) {
136
139
if (hardlinkname [i ] == '/' ) {
137
- hardlinkname = hardlinkname + i + 1U ;
140
+ hardlinkname += i + 1U ;
138
141
break ;
139
142
}
140
143
}
@@ -194,7 +197,15 @@ int tar_extract(const char * outputDir, const char * inputFilePath, int flags, b
194
197
195
198
finalize :
196
199
if (ret != ARCHIVE_OK ) {
197
- fprintf (stdout , "%s\n" , archive_error_string (ar ));
200
+ const char * errorMessage = archive_error_string (ar );
201
+
202
+ if (errorMessage == NULL || errorMessage [0 ] == '\0' ) {
203
+ fprintf (stderr , "unknown error.\n" );
204
+ } else {
205
+ fprintf (stderr , "%s\n" , errorMessage );
206
+ }
207
+
208
+ fprintf (stderr , "%s\n" , errorMessage );
198
209
}
199
210
200
211
archive_read_close (ar );
@@ -427,7 +438,14 @@ int tar_create(const char * inputDir, const char * outputFilePath, ArchiveType t
427
438
428
439
finalize :
429
440
if (ret != ARCHIVE_OK ) {
430
- fprintf (stdout , "%s\n" , archive_error_string (ar ));
441
+ const char * errorMessage = archive_error_string (ar );
442
+
443
+ if (errorMessage == NULL || errorMessage [0 ] == '\0' ) {
444
+ fprintf (stderr , "unknown error.\n" );
445
+ } else {
446
+ fprintf (stderr , "%s\n" , errorMessage );
447
+ }
448
+
431
449
archive_read_close (ar );
432
450
archive_read_free (ar );
433
451
}
0 commit comments