Skip to content

Commit

Permalink
command line arg improvements.
Browse files Browse the repository at this point in the history
  • Loading branch information
ccgus committed Jan 14, 2011
1 parent 267043d commit 224637f
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions src/jstalkmain.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -72,26 +72,38 @@ int main(int argc, char *argv[]) {
} }




NSString *source = 0x00;
NSString *arg = [NSString stringWithUTF8String:argv[1]]; NSString *arg = [NSString stringWithUTF8String:argv[1]];
NSString *s = [NSString stringWithContentsOfFile:arg encoding:NSUTF8StringEncoding error:nil];


if (!s) { if ([arg isEqualToString:@"-e"] && argc == 3) {
source = [NSString stringWithUTF8String:argv[2]];
}
else {
source = [NSString stringWithContentsOfFile:arg encoding:NSUTF8StringEncoding error:nil];
}


if (!source) {
printf("usage: %s <path to file>\n", argv[0]); printf("usage: %s <path to file>\n", argv[0]);
exit(0); exit(0);
} }


[t.env setObject:[NSURL fileURLWithPath:arg] forKey:@"scriptURL"]; [t.env setObject:[NSURL fileURLWithPath:arg] forKey:@"scriptURL"];


if ([s hasPrefix:@"#!"]) { if ([source hasPrefix:@"#!"]) {


NSRange r = [s rangeOfString:@"\n"]; NSRange r = [source rangeOfString:@"\n"];


if (r.location != NSNotFound) { if (r.location != NSNotFound) {
s = [s substringFromIndex:r.location]; source = [source substringFromIndex:r.location];
} }
} }


[t executeString:s]; id o = [t executeString:source];

if (o) {
printf("%s\n", [[o description] UTF8String]);
}


[pool release]; [pool release];


Expand Down

0 comments on commit 224637f

Please sign in to comment.