discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: GNUStep parsing OSX binary plist changed?


From: L Zee
Subject: RE: GNUStep parsing OSX binary plist changed?
Date: Fri, 29 Jan 2010 18:28:13 +0000

Hi,

Thanks for responding and clarifying it is printing the class of the object. I am expecting the object to be a NSDicrionary object.
I have attached the History.plist file, and additional info on the the results using this file.


The below code on Linux w/GNUStep (native Ubuntu 9.04)
$>md5sum ~/Desktop/History.plist
656ce0c8705d8c38b95a22356b6cfd9a

$> ./test ~/Desktop/History.plist

2010-01-29 13:15:26.594 safari_hist[3276] WebHistoryFileVersion
2010-01-29 13:15:26.604 safari_hist[3276] Detected format as GSCBufferString
Aborted


The same code (below) on OSX with the same History.plist file

maccy$ md5 ~Desktop/History.plist
MD5 (History.plist) = 656ce0c8705d8c38b95a22356b6cfd9a

maccy$ ./test ~/Desktop/History.plist
2010-01-29 13:17:30.132 test[1019] {
    WebHistoryDates = (
        {
            "" = "http://www.apple.com/startpage/";
            D = (2);
            lastVisitedDate = "286477969.8";
            title = "Apple - Start";
            visitCount = 2;
        }
    );
    WebHistoryFileVersion = 1;
}
2010-01-29 13:17:30.133 test[1019] Detected format as NSCFDictionary
2010-01-29 13:17:30.133 test[1019] 1

Thanks for your help.

 
> Date: Thu, 28 Jan 2010 16:26:57 +0100
> From: fredkiefer@gmx.de
> To: casasearch@hotmail.com
> CC: discuss-gnustep@gnu.org
> Subject: Re: GNUStep parsing OSX binary plist changed?
>
> Your code is not printing the actual format of the plist, rather it
> prints the class of the extracted object. And if this is a string in
> GNUstep then the call to objectForKey: is bound to fail.
>
> Most likely the plist format used by Safari has changed or your aren't
> looking at the same file in both cases.
>
> This could be easily investigated if you mail the plist in question (or
> even better a very simple one that reproduces the problem). I tried to
> find the History.plist on my Mac, but failed. The only thing I found was
> a History directory for Safari with plenty of files in it. All of them
> looked like normal plists to me.
>
> Fred
>
> Am 28.01.2010 02:30, schrieb L Zee:
> > I recently discovered that a one of my GNUStep programs that parses
> > Safari History.plist files can't parse the files in new versions of
> > safari.
> >
> > As a test ,when I compile and run the following code on OSX using a
> > plist file, it tells me the "plist class" of the plist is "Detected
> > format as NSCFDictionary".
> >
> > When I run the same code compiled on GNUStep that's bundled with
> > ubuntu 9.04, using the same plist file, it tells me the "plist class"
> > is "Detected format as GSCBufferString" and the program aborts.
> >
> > Any ideas on how I can continue to parse these files using GNUstep?
> >
> > Thanks
> >
> > ----------------------------------
> >
> >
> > #include <Foundation/Foundation.h>
> >
> > // MAIN int main (int argc, const char * argv[]) {
> >
> > // Defs. NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]
> > init]; NSData *plistData; NSString *error; NSPropertyListFormat
> > format; id plist; id dict_val;
> >
> >
> > plistData = [NSData dataWithContentsOfFile: [NSString
> > stringWithCString: argv[1]]];
> >
> > plist = [NSPropertyListSerialization propertyListFromData:plistData
> > mutabilityOption:NSPropertyListMutableContainers format:&format
> > errorDescription:&error];
> >
> > NSLog(@"%@",plist); NSLog(@"Detected format as %@", [plist
> > class],plist) ;
> >
> >
> > dict_val = [plist objectForKey: @"WebHistoryDates"];
> >
> > NSLog(@"%@",dict_val);
> >
> >
> > [pool release]; return 0; }
>


Hotmail: Powerful Free email with security by Microsoft. Get it now.

Attachment: History.plist
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]