Overview
| Comment: | objfw-new: Use proper long options |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
ceee745736083f7d63cca97b4d125ead |
| User & Date: | js on 2022-08-07 20:57:08 |
| Other Links: | manifest | tags |
Context
|
2022-08-07
| ||
| 21:00 | README.md: Use new objfw-new syntax (check-in: 31066af476 user: js tags: trunk) | |
| 20:57 | objfw-new: Use proper long options (check-in: ceee745736 user: js tags: trunk) | |
| 20:46 | Rewrite objfw-new in ObjC (check-in: 1ad52a2f2c user: js tags: trunk) | |
Changes
Modified utils/objfw-new/ObjFWNew.m from [aba8385948] to [6661dc925a].
| ︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
*/
#include "config.h"
#import "OFApplication.h"
#import "OFArray.h"
#import "OFObject.h"
#import "OFStdIOStream.h"
#import "OFString.h"
@interface ObjFWNew: OFObject <OFApplicationDelegate>
@end
extern void newApp(OFString *);
extern void newClass(OFString *);
OF_APPLICATION_DELEGATE(ObjFWNew)
static void
showUsage(void)
{
| > | | > > > > > > | > > | | < > | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
*/
#include "config.h"
#import "OFApplication.h"
#import "OFArray.h"
#import "OFObject.h"
#import "OFOptionsParser.h"
#import "OFStdIOStream.h"
#import "OFString.h"
@interface ObjFWNew: OFObject <OFApplicationDelegate>
@end
extern void newApp(OFString *);
extern void newClass(OFString *);
OF_APPLICATION_DELEGATE(ObjFWNew)
static void
showUsage(void)
{
[OFStdErr writeFormat: @"Usage: %@ --app|--class name\n",
[OFApplication programName]];
[OFApplication terminateWithStatus: 1];
}
@implementation ObjFWNew
- (void)applicationDidFinishLaunching
{
bool app, class;
const OFOptionsParserOption options[] = {
{ '\0', @"app", 0, &app, NULL },
{ '\0', @"class", 0, &class, NULL },
{ '\0', nil, 0, NULL, NULL }
};
OFOptionsParser *optionsParser;
OFUnichar option;
optionsParser = [OFOptionsParser parserWithOptions: options];
while ((option = [optionsParser nextOption]) != '\0')
if (option == '?')
showUsage();
if ((app ^ class) != 1 || optionsParser.remainingArguments.count != 1)
showUsage();
if (app)
newApp(optionsParser.remainingArguments.firstObject);
else if (class)
newClass(optionsParser.remainingArguments.firstObject);
else
showUsage();
[OFApplication terminate];
}
@end
|