Overview
Comment: | OFApplication: Always store argc and argv
While we don't need argc/argv when using the wide variants on Windows, |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
2ca00fefffaa5329a9f1694758cb9c0b |
User & Date: | js on 2021-11-19 22:54:48 |
Other Links: | manifest | tags |
Context
2021-11-20
| ||
13:18 | Move TLS implementations to a separate library check-in: 8f8af474fc user: js tags: trunk | |
2021-11-19
| ||
22:54 | OFApplication: Always store argc and argv check-in: 2ca00fefff user: js tags: trunk | |
2021-11-13
| ||
21:09 | -[OFSecureTransportTLSStream hasDataInReadBuffer] check-in: a3eee50a18 user: js tags: trunk | |
Changes
Modified src/OFApplication.m from [67088e53c7] to [d30209c2bc].
︙ | ︙ | |||
72 73 74 75 76 77 78 | #endif OF_DIRECT_MEMBERS @interface OFApplication () - (instancetype)of_init OF_METHOD_FAMILY(init); - (void)of_setArgumentCount: (int *)argc andArgumentValues: (char **[])argv; #ifdef OF_WINDOWS | | > > > | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #endif OF_DIRECT_MEMBERS @interface OFApplication () - (instancetype)of_init OF_METHOD_FAMILY(init); - (void)of_setArgumentCount: (int *)argc andArgumentValues: (char **[])argv; #ifdef OF_WINDOWS - (void)of_setArgumentCount: (int *)argc andArgumentValues: (char **[])argv andWideArgumentCount: (int)wargc andWideArgumentValues: (wchar_t *[])wargv; #endif - (void)of_run; @end const OFNotificationName OFApplicationWillTerminateNotification = @"OFApplicationWillTerminateNotification"; static OFApplication *app = nil; |
︙ | ︙ | |||
116 117 118 119 120 121 122 | [[OFLocale alloc] init]; app = [[OFApplication alloc] of_init]; #ifdef OF_WINDOWS if ([OFSystemInfo isWindowsNT]) { __wgetmainargs(&wargc, &wargv, &wenvp, _CRT_glob, &si); | | > > > | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | [[OFLocale alloc] init]; app = [[OFApplication alloc] of_init]; #ifdef OF_WINDOWS if ([OFSystemInfo isWindowsNT]) { __wgetmainargs(&wargc, &wargv, &wenvp, _CRT_glob, &si); [app of_setArgumentCount: argc andArgumentValues: argv andWideArgumentCount: wargc andWideArgumentValues: wargv]; } else #endif [app of_setArgumentCount: argc andArgumentValues: argv]; app.delegate = delegate; [app of_run]; |
︙ | ︙ | |||
465 466 467 468 469 470 471 | { [_arguments release]; [_environment release]; [super dealloc]; } | | | 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 | { [_arguments release]; [_environment release]; [super dealloc]; } - (void)of_setArgumentCount: (int *)argc andArgumentValues: (char **[])argv { void *pool = objc_autoreleasePoolPush(); OFMutableArray *arguments; OFStringEncoding encoding; _argc = argc; _argv = argv; |
︙ | ︙ | |||
498 499 500 501 502 503 504 | [arguments makeImmutable]; } objc_autoreleasePoolPop(pool); } #ifdef OF_WINDOWS | | > > > > > > | | | | | 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | [arguments makeImmutable]; } objc_autoreleasePoolPop(pool); } #ifdef OF_WINDOWS - (void)of_setArgumentCount: (int *)argc andArgumentValues: (char **[])argv andWideArgumentCount: (int)wargc andWideArgumentValues: (wchar_t *[])wargv { void *pool = objc_autoreleasePoolPush(); OFMutableArray *arguments; _argc = argc; _argv = argv; if (wargc > 0) { _programName = [[OFString alloc] initWithUTF16String: wargv[0]]; arguments = [[OFMutableArray alloc] init]; for (int i = 1; i < wargc; i++) [arguments addObject: [OFString stringWithUTF16String: wargv[i]]]; [arguments makeImmutable]; _arguments = arguments; } objc_autoreleasePoolPop(pool); } |
︙ | ︙ |