@@ -40,39 +40,39 @@ OF_APPLICATION_DELEGATE(OFHash) static void help(void) { - [of_stderr writeLine: OF_LOCALIZED(@"usage", + [OFStdErr writeLine: OF_LOCALIZED(@"usage", @"Usage: %[prog] [--md5|--ripemd160|--sha1|--sha224|--sha256|" @"--sha384|--sha512] file1 [file2 ...]", @"prog", [OFApplication programName])]; [OFApplication terminateWithStatus: 1]; } static void -printHash(OFString *algo, OFString *path, id hash) +printHash(OFString *algo, OFString *path, id hash) { const unsigned char *digest = hash.digest; size_t digestSize = hash.digestSize; - [of_stdout writeFormat: @"%@ ", algo]; + [OFStdOut writeFormat: @"%@ ", algo]; for (size_t i = 0; i < digestSize; i++) - [of_stdout writeFormat: @"%02x", digest[i]]; + [OFStdOut writeFormat: @"%02x", digest[i]]; - [of_stdout writeFormat: @" %@\n", path]; + [OFStdOut writeFormat: @" %@\n", path]; } @implementation OFHash - (void)applicationDidFinishLaunching { int exitStatus = 0; bool calculateMD5, calculateRIPEMD160, calculateSHA1, calculateSHA224; bool calculateSHA256, calculateSHA384, calculateSHA512; - const of_options_parser_option_t options[] = { + const OFOptionsParserOption options[] = { { '\0', @"md5", 0, &calculateMD5, NULL }, { '\0', @"ripemd160", 0, &calculateRIPEMD160, NULL }, { '\0', @"sha1", 0, &calculateSHA1, NULL }, { '\0', @"sha224", 0, &calculateSHA224, NULL }, { '\0', @"sha256", 0, &calculateSHA256, NULL }, @@ -80,11 +80,11 @@ { '\0', @"sha512", 0, &calculateSHA512, NULL }, { '\0', nil, 0, NULL, NULL } }; OFOptionsParser *optionsParser = [OFOptionsParser parserWithOptions: options]; - of_unichar_t option; + OFUnichar option; OFMD5Hash *MD5Hash = nil; OFRIPEMD160Hash *RIPEMD160Hash = nil; OFSHA1Hash *SHA1Hash = nil; OFSHA224Hash *SHA224Hash = nil; OFSHA256Hash *SHA256Hash = nil; @@ -99,19 +99,19 @@ while ((option = [optionsParser nextOption]) != '\0') { switch (option) { case '?': if (optionsParser.lastLongOption != nil) - [of_stderr writeLine: + [OFStdErr writeLine: OF_LOCALIZED(@"unknown_long_option", @"%[prog]: Unknown option: --%[opt]", @"prog", [OFApplication programName], @"opt", optionsParser.lastLongOption)]; else { OFString *optStr = [OFString stringWithFormat: @"%c", optionsParser.lastOption]; - [of_stderr writeLine: + [OFStdErr writeLine: OF_LOCALIZED(@"unknown_option", @"%[prog]: Unknown option: -%[opt]", @"prog", [OFApplication programName], @"opt", optStr)]; } @@ -127,17 +127,15 @@ sandbox.allowsStdIO = true; sandbox.allowsReadingFiles = true; sandbox.allowsUserDatabaseReading = true; for (OFString *path in optionsParser.remainingArguments) - [sandbox unveilPath: path - permissions: @"r"]; + [sandbox unveilPath: path permissions: @"r"]; + + [sandbox unveilPath: @LANGUAGE_DIR permissions: @"r"]; - [sandbox unveilPath: @LANGUAGE_DIR - permissions: @"r"]; - - [OFApplication activateSandbox: sandbox]; + [OFApplication of_activateSandbox: sandbox]; } @finally { [sandbox release]; } #endif @@ -148,46 +146,40 @@ if (optionsParser.remainingArguments.count < 1) help(); if (calculateMD5) - MD5Hash = [OFMD5Hash cryptoHashWithAllowsSwappableMemory: true]; + MD5Hash = [OFMD5Hash hashWithAllowsSwappableMemory: true]; if (calculateRIPEMD160) RIPEMD160Hash = - [OFRIPEMD160Hash cryptoHashWithAllowsSwappableMemory: true]; + [OFRIPEMD160Hash hashWithAllowsSwappableMemory: true]; if (calculateSHA1) - SHA1Hash = - [OFSHA1Hash cryptoHashWithAllowsSwappableMemory: true]; + SHA1Hash = [OFSHA1Hash hashWithAllowsSwappableMemory: true]; if (calculateSHA224) - SHA224Hash = - [OFSHA224Hash cryptoHashWithAllowsSwappableMemory: true]; + SHA224Hash = [OFSHA224Hash hashWithAllowsSwappableMemory: true]; if (calculateSHA256) - SHA256Hash = - [OFSHA256Hash cryptoHashWithAllowsSwappableMemory: true]; + SHA256Hash = [OFSHA256Hash hashWithAllowsSwappableMemory: true]; if (calculateSHA384) - SHA384Hash = - [OFSHA384Hash cryptoHashWithAllowsSwappableMemory: true]; + SHA384Hash = [OFSHA384Hash hashWithAllowsSwappableMemory: true]; if (calculateSHA512) - SHA512Hash = - [OFSHA512Hash cryptoHashWithAllowsSwappableMemory: true]; + SHA512Hash = [OFSHA512Hash hashWithAllowsSwappableMemory: true]; for (OFString *path in optionsParser.remainingArguments) { void *pool = objc_autoreleasePoolPush(); OFStream *file; if ([path isEqual: @"-"]) - file = of_stdin; + file = OFStdIn; else { @try { - file = [OFFile fileWithPath: path - mode: @"r"]; + file = [OFFile fileWithPath: path mode: @"r"]; } @catch (OFOpenItemFailedException *e) { OFString *error = [OFString stringWithCString: strerror(e.errNo) encoding: [OFLocale encoding]]; - [of_stderr writeLine: OF_LOCALIZED( + [OFStdErr writeLine: OF_LOCALIZED( @"failed_to_open_file", @"Failed to open file %[file]: %[error]", @"file", e.path, @"error", error)]; @@ -214,11 +206,11 @@ } @catch (OFReadFailedException *e) { OFString *error = [OFString stringWithCString: strerror(e.errNo) encoding: [OFLocale encoding]]; - [of_stderr writeLine: OF_LOCALIZED( + [OFStdErr writeLine: OF_LOCALIZED( @"failed_to_read_file", @"Failed to read %[file]: %[error]", @"file", path, @"error", error)];