Commit 6903d514 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx: Fix crashlog opening.

parent 175d1beb
...@@ -1991,14 +1991,43 @@ end: ...@@ -1991,14 +1991,43 @@ end:
- (IBAction)openCrashLog:(id)sender - (IBAction)openCrashLog:(id)sender
{ {
NSString * o_path = [@"~/Library/Logs/CrashReporter/VLC.crash.log" NSString * crashReporter = [@"~/Library/Logs/CrashReporter" stringByExpandingTildeInPath];
stringByExpandingTildeInPath]; NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:crashReporter];
NSString *fname;
BOOL found = NO;
NSString * latestLog = nil;
int year = 0;
int month = 0;
int day = 0;
int hours = 0;
while (fname = [direnum nextObject])
{
[direnum skipDescendents];
if([fname hasPrefix:@"VLC"] && [fname hasSuffix:@"crash"])
{
NSArray * compo = [fname componentsSeparatedByString:@"_"];
if( [compo count] < 3 ) { found = NO; break; }
compo = [[compo objectAtIndex:1] componentsSeparatedByString:@"-"];
if( [compo count] < 4 ) { found = NO; break; }
if( year < [[compo objectAtIndex:0] intValue] &&
month < [[compo objectAtIndex:1] intValue] &&
day < [[compo objectAtIndex:2] intValue] &&
hours < [[compo objectAtIndex:3] intValue] )
{
year = [[compo objectAtIndex:0] intValue];
month = [[compo objectAtIndex:1] intValue];
day = [[compo objectAtIndex:2] intValue];
hours = [[compo objectAtIndex:3] intValue];
latestLog = [NSString stringWithFormat:@"%@/%@",crashReporter, fname];
found = YES;
}
}
}
if( [[NSFileManager defaultManager] fileExistsAtPath: o_path ] ) if( found && latestLog && [[NSFileManager defaultManager] fileExistsAtPath: latestLog ] )
{ {
[[NSWorkspace sharedWorkspace] openFile: o_path [[NSWorkspace sharedWorkspace] openFile: latestLog withApplication: @"Console"];
withApplication: @"Console"];
} }
else else
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment