Differences From Artifact [5a9641513d]:
- File
utils/ofzip/GZIPArchive.m
— part of check-in
[44f45c2e35]
at
2017-01-09 17:36:36
on branch trunk
— Update copyright
Forgot to add 2017, even though I already did quite some changes in
2017. (user: js, size: 3236) [annotate] [blame] [check-ins using]
To Artifact [0352ca14b6]:
- File utils/ofzip/GZIPArchive.m — part of check-in [ebf74827f6] at 2017-02-26 21:29:13 on branch trunk — Localize ofzip (user: js, size: 3578) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
15 16 17 18 19 20 21 22 23 24 25 26 27 28 | */ #include "config.h" #import "OFApplication.h" #import "OFFileManager.h" #import "OFStdIOStream.h" #import "GZIPArchive.h" #import "OFZIP.h" static OFZIP *app; static void | > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | */ #include "config.h" #import "OFApplication.h" #import "OFFileManager.h" #import "OFStdIOStream.h" #import "OFLocalization.h" #import "GZIPArchive.h" #import "OFZIP.h" static OFZIP *app; static void |
︙ | ︙ | |||
71 72 73 74 75 76 77 | [_stream release]; [super dealloc]; } - (void)listFiles { | > | > | > | > | | > > > > | > | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | [_stream release]; [super dealloc]; } - (void)listFiles { [of_stderr writeLine: OF_LOCALIZED(@"cannot_list_gz", @"Cannot list files of a .gz archive!")]; app->_exitStatus = 1; } - (void)extractFiles: (OFArray OF_GENERIC(OFString*)*)files { OFString *fileName; OFFile *output; if ([files count] != 0) { [of_stderr writeLine: OF_LOCALIZED(@"cannot_extract_specific_file_from_gz", @"Cannot extract a specific file of a .gz archive!")]; app->_exitStatus = 1; return; } fileName = [[app->_archivePath lastPathComponent] stringByDeletingPathExtension]; if (app->_outputLevel >= 0) [of_stdout writeString: OF_LOCALIZED(@"extracting_file", @"Extracting %[file]...", @"file", fileName)]; if (![app shouldExtractFile: fileName outFileName: fileName]) return; output = [OFFile fileWithPath: fileName mode: @"wb"]; setPermissions(fileName, app->_archivePath); while (![_stream isAtEndOfStream]) { ssize_t length = [app copyBlockFromStream: _stream toStream: output fileName: fileName]; if (length < 0) { app->_exitStatus = 1; return; } } if (app->_outputLevel >= 0) { [of_stdout writeString: @"\r"]; [of_stdout writeLine: OF_LOCALIZED(@"extracting_file_done", @"Extracting %[file]... done", @"file", fileName)]; } } - (void)printFiles: (OFArray OF_GENERIC(OFString*)*)files { OFString *fileName = [[app->_archivePath lastPathComponent] stringByDeletingPathExtension]; if ([files count] > 0) { [of_stderr writeLine: OF_LOCALIZED( @"cannot_print_specific_file_from_gz", @"Cannot print a specific file of a .gz archive!")]; app->_exitStatus = 1; return; } while (![_stream isAtEndOfStream]) { ssize_t length = [app copyBlockFromStream: _stream toStream: of_stdout |
︙ | ︙ |