Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 57168e1

Browse files
committedJun 11, 2009
PBEasyPipe: Add method that allows you to specify the environment stuff
1 parent 78eeab4 commit 57168e1

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed
 

‎PBEasyPipe.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,12 @@
2828
inDir:(NSString *) dir
2929
inputString:(NSString *)input
3030
retValue:(int *) ret;
31+
+ (NSString*) outputForCommand:(NSString *) cmd
32+
withArgs:(NSArray *) args
33+
inDir:(NSString *) dir
34+
byExtendingEnvironment:(NSDictionary *)dict
35+
inputString:(NSString *)input
36+
retValue:(int *) ret;
37+
3138

3239
@end

‎PBEasyPipe.m

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,33 @@ + (NSString*) outputForCommand:(NSString *) cmd
5151
inDir:(NSString *) dir
5252
retValue:(int *) ret
5353
{
54-
return [self outputForCommand:cmd withArgs:args inDir:dir inputString:NULL retValue:ret];
54+
return [self outputForCommand:cmd withArgs:args inDir:dir byExtendingEnvironment:nil inputString:nil retValue:ret];
5555
}
5656

57-
// TODO: Refactor this to use the function above
5857
+ (NSString*) outputForCommand:(NSString *) cmd
5958
withArgs:(NSArray *) args
6059
inDir:(NSString *) dir
61-
inputString:(NSString *)input
60+
inputString:(NSString *) input
6261
retValue:(int *) ret
62+
{
63+
return [self outputForCommand:cmd withArgs:args inDir:dir byExtendingEnvironment:nil inputString:input retValue:ret];
64+
}
65+
66+
+ (NSString*) outputForCommand:(NSString *) cmd
67+
withArgs:(NSArray *) args
68+
inDir:(NSString *) dir
69+
byExtendingEnvironment:(NSDictionary *)dict
70+
inputString:(NSString *) input
71+
retValue:(int *) ret
6372
{
6473
NSTask *task = [self taskForCommand:cmd withArgs:args inDir:dir];
74+
75+
if (dict) {
76+
NSMutableDictionary *env = [[[NSProcessInfo processInfo] environment] mutableCopy];
77+
[env addEntriesFromDictionary:dict];
78+
task.environment = env;
79+
}
80+
6581
NSFileHandle* handle = [task.standardOutput fileHandleForReading];
6682

6783
if (input) {

0 commit comments

Comments
 (0)
Please sign in to comment.