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

macosx: Fix crashlog opening.

parent 175d1beb
......@@ -1991,14 +1991,43 @@ end:
- (IBAction)openCrashLog:(id)sender
{
NSString * o_path = [@"~/Library/Logs/CrashReporter/VLC.crash.log"
stringByExpandingTildeInPath];
NSString * crashReporter = [@"~/Library/Logs/CrashReporter" 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
withApplication: @"Console"];
[[NSWorkspace sharedWorkspace] openFile: latestLog withApplication: @"Console"];
}
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