From: <ho...@us...> - 2007-02-16 10:39:56
|
Revision: 9763 http://svn.sourceforge.net/bibdesk/?rev=9763&view=rev Author: hofman Date: 2007-02-16 02:39:57 -0800 (Fri, 16 Feb 2007) Log Message: ----------- Use string keys for dictionary encoded with propertyListSerialization. Modified Paths: -------------- skim/SKDocument.m Modified: skim/SKDocument.m =================================================================== --- skim/SKDocument.m 2007-02-15 22:05:43 UTC (rev 9762) +++ skim/SKDocument.m 2007-02-16 10:39:57 UTC (rev 9763) @@ -190,7 +190,7 @@ if ([aURL isFileURL]) { NSString *path = [aURL path]; - int i, numberOfNotes = [notes count]; + int i, j, n, numberOfNotes = [notes count]; NSArray *oldNotes = [fm extendedAttributeNamesAtPath:path traverseLink:YES error:NULL]; NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:numberOfNotes], @"numberOfNotes", nil]; NSMutableDictionary *longNotes = [NSMutableDictionary dictionary]; @@ -199,12 +199,13 @@ NSError *error = nil; // first remove all old notes - for (i = 0; YES; i++) { - name = [NSString stringWithFormat:@"net_sourceforge_bibdesk_skim_note-%i", i]; - if ([oldNotes containsObject:name] == NO) - break; - if ([fm removeExtendedAttribute:name atPath:path traverseLink:YES error:&error] == NO) { - NSLog(@"%@: %@", self, error); + n = [oldNotes count]; + for (i = 0; i < n; i++) { + name = [oldNotes objectAtIndex:i]; + if ([name hasPrefix:@"net_sourceforge_bibdesk_skim_note-"]) { + if ([fm removeExtendedAttribute:name atPath:path traverseLink:YES error:&error] == NO) { + NSLog(@"%@: %@", self, error); + } } } @@ -212,7 +213,7 @@ name = [NSString stringWithFormat:@"net_sourceforge_bibdesk_skim_note-%i", i]; data = [NSKeyedArchiver archivedDataWithRootObject:[[notes objectAtIndex:i] dictionaryValue]]; if ([data length] > MAX_XATTR_LENGTH) { - int j, n = ceil([data length] / MAX_XATTR_LENGTH); + n = ceil([data length] / MAX_XATTR_LENGTH); NSData *subdata; for (j = 0; j < n; j++) { name = [NSString stringWithFormat:@"net_sourceforge_bibdesk_skim_note-%i-%i", i, j]; @@ -222,7 +223,7 @@ NSLog(@"%@: %@", self, error); } } - [longNotes setObject:[NSNumber numberWithInt:j] forKey:[NSNumber numberWithInt:i]]; + [longNotes setObject:[NSNumber numberWithInt:j] forKey:[NSString stringWithFormat:@"%i", i]]; } else if ([fm setExtendedAttributeNamed:name toValue:data atPath:path options:nil error:&error] == NO) { success = NO; NSLog(@"%@: %@", self, error); @@ -271,7 +272,7 @@ noteDicts = [[NSMutableArray alloc] initWithCapacity:numberOfNotes]; for (i = 0; i < numberOfNotes; i++) { - n = [[longNotes objectForKey:[NSNumber numberWithInt:i]] intValue]; + n = [[longNotes objectForKey:[NSString stringWithFormat:@"%i", i]] intValue]; if (n == 0) { name = [NSString stringWithFormat:@"net_sourceforge_bibdesk_skim_note-%i", i]; if ((data = [fm extendedAttributeNamed:name atPath:[aURL path] traverseLink:YES error:&error]) && This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |