| Index: class-dump/src/CDLCDylib.m
|
| ===================================================================
|
| --- class-dump/src/CDLCDylib.m (revision 0)
|
| +++ class-dump/src/CDLCDylib.m (revision 0)
|
| @@ -0,0 +1,98 @@
|
| +// -*- mode: ObjC -*-
|
| +
|
| +// This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files.
|
| +// Copyright (C) 1997-1998, 2000-2001, 2004-2010 Steve Nygard.
|
| +
|
| +#import "CDLCDylib.h"
|
| +
|
| +#import "CDFatFile.h"
|
| +#import "CDMachOFile.h"
|
| +
|
| +static NSString *CDDylibVersionString(unsigned long version)
|
| +{
|
| + return [NSString stringWithFormat:@"%d.%d.%d", version >> 16, (version >> 8) & 0xff, version & 0xff];
|
| +}
|
| +
|
| +@implementation CDLCDylib
|
| +
|
| +- (id)initWithDataCursor:(CDDataCursor *)cursor machOFile:(CDMachOFile *)aMachOFile;
|
| +{
|
| + NSUInteger length;
|
| +
|
| + if ([super initWithDataCursor:cursor machOFile:aMachOFile] == nil)
|
| + return nil;
|
| +
|
| + dylibCommand.cmd = [cursor readInt32];
|
| + dylibCommand.cmdsize = [cursor readInt32];
|
| +
|
| + dylibCommand.dylib.name.offset = [cursor readInt32];
|
| + dylibCommand.dylib.timestamp = [cursor readInt32];
|
| + dylibCommand.dylib.current_version = [cursor readInt32];
|
| + dylibCommand.dylib.compatibility_version = [cursor readInt32];
|
| +
|
| + length = dylibCommand.cmdsize - sizeof(dylibCommand);
|
| + //NSLog(@"expected length: %u", length);
|
| +
|
| + path = [[cursor readStringOfLength:length encoding:NSASCIIStringEncoding] retain];
|
| + //NSLog(@"path: %@", path);
|
| +
|
| + return self;
|
| +}
|
| +
|
| +- (void)dealloc;
|
| +{
|
| + [path release];
|
| +
|
| + [super dealloc];
|
| +}
|
| +
|
| +- (uint32_t)cmd;
|
| +{
|
| + return dylibCommand.cmd;
|
| +}
|
| +
|
| +- (uint32_t)cmdsize;
|
| +{
|
| + return dylibCommand.cmdsize;
|
| +}
|
| +
|
| +- (NSString *)path;
|
| +{
|
| + return path;
|
| +}
|
| +
|
| +- (uint32_t)timestamp;
|
| +{
|
| + return dylibCommand.dylib.timestamp;
|
| +}
|
| +
|
| +- (uint32_t)currentVersion;
|
| +{
|
| + return dylibCommand.dylib.current_version;
|
| +}
|
| +
|
| +- (uint32_t)compatibilityVersion;
|
| +{
|
| + return dylibCommand.dylib.compatibility_version;
|
| +}
|
| +
|
| +- (NSString *)formattedCurrentVersion;
|
| +{
|
| + return CDDylibVersionString([self currentVersion]);
|
| +}
|
| +
|
| +- (NSString *)formattedCompatibilityVersion;
|
| +{
|
| + return CDDylibVersionString([self compatibilityVersion]);
|
| +}
|
| +
|
| +#if 0
|
| +- (NSString *)extraDescription;
|
| +{
|
| + return [NSString stringWithFormat:@"%@ (compatibility version %@, current version %@, timestamp %d [%@])",
|
| + [self path], CDDylibVersionString([self compatibilityVersion]), CDDylibVersionString([self currentVersion]),
|
| + [self timestamp], [NSDate dateWithTimeIntervalSince1970:[self timestamp]]];
|
| +}
|
| +#endif
|
| +
|
| +@end
|
|
|
| Property changes on: class-dump/src/CDLCDylib.m
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|