File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change 16
16
#include < ext/stdio_filebuf.h>
17
17
#include < iostream>
18
18
#include < string>
19
+ #include < map>
19
20
20
21
using namespace std ;
21
22
@@ -71,6 +72,7 @@ - (void) walkRevisionListWithSpecifier: (PBGitRevSpecifier*) rev
71
72
NSDate *start = [NSDate date ];
72
73
NSMutableArray * revisions = [NSMutableArray array ];
73
74
PBGitGrapher* g = [[PBGitGrapher alloc ] initWithRepository: repository];
75
+ std::map<string, NSStringEncoding > encodingMap;
74
76
75
77
NSMutableArray * arguments;
76
78
BOOL showSign = [rev hasLeftRight ];
@@ -124,7 +126,14 @@ - (void) walkRevisionListWithSpecifier: (PBGitRevSpecifier*) rev
124
126
getline (stream, encoding_str, ' \1 ' );
125
127
NSStringEncoding encoding = NSUTF8StringEncoding;
126
128
if (encoding_str.length ())
127
- encoding = CFStringConvertEncodingToNSStringEncoding (CFStringConvertIANACharSetNameToEncoding ((CFStringRef)[NSString stringWithUTF8String: encoding_str.c_str ()]));
129
+ {
130
+ if (encodingMap.count (encoding_str)) {
131
+ encoding = encodingMap[encoding_str];
132
+ } else {
133
+ encoding = CFStringConvertEncodingToNSStringEncoding (CFStringConvertIANACharSetNameToEncoding ((CFStringRef)[NSString stringWithUTF8String: encoding_str.c_str ()]));
134
+ encodingMap[encoding_str] = encoding;
135
+ }
136
+ }
128
137
129
138
git_oid oid;
130
139
git_oid_mkstr (&oid, sha.c_str ());
You can’t perform that action at this time.
0 commit comments