Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(180)

Side by Side Diff: class-dump/src/CDLCRunPath.m

Issue 7793008: Add the 3.3.3 sources for class-dump. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/
Patch Set: Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « class-dump/src/CDLCRunPath.h ('k') | class-dump/src/CDLCSegment.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // -*- mode: ObjC -*-
2
3 // This file is part of class-dump, a utility for examining the Objective-C seg ment of Mach-O files.
4 // Copyright (C) 1997-1998, 2000-2001, 2004-2010 Steve Nygard.
5
6 #import "CDLCRunPath.h"
7
8 #import "CDDataCursor.h"
9 #import "CDMachOFile.h"
10 #import "CDSearchPathState.h"
11
12 @implementation CDLCRunPath
13
14 - (id)initWithDataCursor:(CDDataCursor *)cursor machOFile:(CDMachOFile *)aMachOF ile;
15 {
16 NSUInteger length;
17
18 if ([super initWithDataCursor:cursor machOFile:aMachOFile] == nil)
19 return nil;
20
21 rpathCommand.cmd = [cursor readInt32];
22 rpathCommand.cmdsize = [cursor readInt32];
23
24 rpathCommand.path.offset = [cursor readInt32];
25
26 length = rpathCommand.cmdsize - sizeof(rpathCommand);
27 //NSLog(@"expected length: %u", length);
28
29 path = [[cursor readStringOfLength:length encoding:NSASCIIStringEncoding] re tain];
30 //NSLog(@"path: %@", path);
31
32 return self;
33 }
34
35 - (void)dealloc;
36 {
37 [path release];
38
39 [super dealloc];
40 }
41
42 - (uint32_t)cmd;
43 {
44 return rpathCommand.cmd;
45 }
46
47 - (uint32_t)cmdsize;
48 {
49 return rpathCommand.cmdsize;
50 }
51
52 - (NSString *)path;
53 {
54 return path;
55 }
56
57 - (NSString *)resolvedRunPath;
58 {
59 NSString *loaderPathPrefix = @"@loader_path";
60 NSString *executablePathPrefix = @"@executable_path";
61
62 if ([path hasPrefix:loaderPathPrefix]) {
63 NSString *str, *loaderPath;
64
65 loaderPath = [[[self machOFile] filename] stringByDeletingLastPathCompon ent];
66 str = [[path stringByReplacingOccurrencesOfString:loaderPathPrefix withS tring:loaderPath] stringByStandardizingPath];
67
68 return str;
69 }
70
71 if ([path hasPrefix:executablePathPrefix]) {
72 NSString *str;
73
74 str = [[path stringByReplacingOccurrencesOfString:executablePathPrefix w ithString:[[[self machOFile] searchPathState] executablePath]] stringByStandardi zingPath];
75
76 return str;
77 }
78
79 return path;
80 }
81
82 @end
OLDNEW
« no previous file with comments | « class-dump/src/CDLCRunPath.h ('k') | class-dump/src/CDLCSegment.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698