Skip to content

Commit 55b47d8

Browse files
committed
Fixed bug with empty 'cells' in Tab Separated files
1 parent aa65250 commit 55b47d8

File tree

3 files changed

+64
-237
lines changed

3 files changed

+64
-237
lines changed

CSVDocument.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ - (NSUInteger) numRowsFromCSVString:(NSString *)string maxRows:(NSUInteger)maxRo
135135

136136
// on to the next column/cell!
137137
[currentCellString setString:@""];
138-
[scanner scanCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString:NULL];
138+
if (NSNotFound == [separator rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]].location) {
139+
[scanner scanCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString:NULL];
140+
}
139141
colIndex++;
140142
}
141143
}

QuickLookCSV.xcodeproj/pp.pbxuser

Lines changed: 42 additions & 203 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// !$*UTF8*$!
22
{
33
089C1669FE841209C02AAC07 /* Project object */ = {
4-
activeBuildConfigurationName = Release;
4+
activeBuildConfigurationName = Debug;
55
activeTarget = 8D57630D048677EA00EA77CD /* QuickLookCSV */;
66
addToTargets = (
77
8D57630D048677EA00EA77CD /* QuickLookCSV */,
@@ -68,10 +68,13 @@
6868
PBXFileDataSource_Warnings_ColumnID,
6969
);
7070
};
71-
PBXPerProjectTemplateStateSaveDate = 273184712;
72-
PBXWorkspaceStateSaveDate = 273184712;
71+
PBXPerProjectTemplateStateSaveDate = 273959922;
72+
PBXWorkspaceStateSaveDate = 273959922;
7373
};
7474
perUserProjectItems = {
75+
EE155BB510544D870015EAF0 /* PBXTextBookmark */ = EE155BB510544D870015EAF0 /* PBXTextBookmark */;
76+
EE155BBA10544D9A0015EAF0 /* PBXTextBookmark */ = EE155BBA10544D9A0015EAF0 /* PBXTextBookmark */;
77+
EE1DB90B1050778D00D6B075 /* PBXTextBookmark */ = EE1DB90B1050778D00D6B075 /* PBXTextBookmark */;
7578
EE77BE6C0FFEB315008B09DE /* PBXTextBookmark */ = EE77BE6C0FFEB315008B09DE /* PBXTextBookmark */;
7679
EE77BEC50FFF6266008B09DE /* PBXTextBookmark */ = EE77BEC50FFF6266008B09DE /* PBXTextBookmark */;
7780
EE8830A610013E43005590AE /* PBXTextBookmark */ = EE8830A610013E43005590AE /* PBXTextBookmark */;
@@ -80,30 +83,13 @@
8083
EE8830AC10013E43005590AE /* PBXTextBookmark */ = EE8830AC10013E43005590AE /* PBXTextBookmark */;
8184
EE88310E10015251005590AE /* PBXTextBookmark */ = EE88310E10015251005590AE /* PBXTextBookmark */;
8285
EEA3A590104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A590104879AB00AA5FA8 /* PBXTextBookmark */;
83-
EEA3A591104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A591104879AB00AA5FA8 /* PBXTextBookmark */;
8486
EEA3A593104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A593104879AB00AA5FA8 /* PBXTextBookmark */;
8587
EEA3A594104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A594104879AB00AA5FA8 /* PBXTextBookmark */;
86-
EEA3A598104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A598104879AB00AA5FA8 /* PBXTextBookmark */;
8788
EEA3A599104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A599104879AB00AA5FA8 /* PBXTextBookmark */;
88-
EEA3A59A104879AB00AA5FA8 /* PlistBookmark */ = EEA3A59A104879AB00AA5FA8 /* PlistBookmark */;
89-
EEA3A59B104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A59B104879AB00AA5FA8 /* PBXTextBookmark */;
90-
EEA3A59C104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A59C104879AB00AA5FA8 /* PBXTextBookmark */;
91-
EEA3A59D104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A59D104879AB00AA5FA8 /* PBXTextBookmark */;
92-
EEA3A59E104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A59E104879AB00AA5FA8 /* PBXTextBookmark */;
93-
EEA3A59F104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A59F104879AB00AA5FA8 /* PBXTextBookmark */;
94-
EEA3A5A0104879AB00AA5FA8 /* PlistBookmark */ = EEA3A5A0104879AB00AA5FA8 /* PlistBookmark */;
95-
EEA3A5A1104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A5A1104879AB00AA5FA8 /* PBXTextBookmark */;
96-
EEA3A5A2104879AB00AA5FA8 /* PBXTextBookmark */ = EEA3A5A2104879AB00AA5FA8 /* PBXTextBookmark */;
9789
EEA3A5BC10487C0300AA5FA8 /* PlistBookmark */ = EEA3A5BC10487C0300AA5FA8 /* PlistBookmark */;
9890
EEA3A5BD10487C0300AA5FA8 /* PBXTextBookmark */ = EEA3A5BD10487C0300AA5FA8 /* PBXTextBookmark */;
9991
EEA3A5BE10487C0300AA5FA8 /* PBXTextBookmark */ = EEA3A5BE10487C0300AA5FA8 /* PBXTextBookmark */;
100-
EEA3A5BF10487C0300AA5FA8 /* PlistBookmark */ = EEA3A5BF10487C0300AA5FA8 /* PlistBookmark */;
101-
EEA3A5C010487C0300AA5FA8 /* PBXTextBookmark */ = EEA3A5C010487C0300AA5FA8 /* PBXTextBookmark */;
102-
EEA3A5C110487C0300AA5FA8 /* PBXTextBookmark */ = EEA3A5C110487C0300AA5FA8 /* PBXTextBookmark */;
10392
EEA3A5C310487C4200AA5FA8 /* PBXTextBookmark */ = EEA3A5C310487C4200AA5FA8 /* PBXTextBookmark */;
104-
EEA3A5C510487C4200AA5FA8 /* PBXTextBookmark */ = EEA3A5C510487C4200AA5FA8 /* PBXTextBookmark */;
105-
EEA3A5C810487F2B00AA5FA8 /* PBXTextBookmark */ = EEA3A5C810487F2B00AA5FA8 /* PBXTextBookmark */;
106-
EEA3A5C910487F2B00AA5FA8 /* PBXTextBookmark */ = EEA3A5C910487F2B00AA5FA8 /* PBXTextBookmark */;
10793
EEB3ED400FFE2B1100B7462F /* PBXTextBookmark */ = EEB3ED400FFE2B1100B7462F /* PBXTextBookmark */;
10894
EEB3ED410FFE2B1100B7462F /* PlistBookmark */ = EEB3ED410FFE2B1100B7462F /* PlistBookmark */;
10995
EEB3ED420FFE2B1100B7462F /* PBXTextBookmark */ = EEB3ED420FFE2B1100B7462F /* PBXTextBookmark */;
@@ -120,7 +106,7 @@
120106
};
121107
089C167EFE841241C02AAC07 /* English */ = {
122108
uiCtxt = {
123-
sepNavIntBoundsRect = "{{0, 0}, {1027, 769}}";
109+
sepNavIntBoundsRect = "{{0, 0}, {1027, 768}}";
124110
sepNavSelRange = "{96, 0}";
125111
sepNavVisRange = "{0, 202}";
126112
};
@@ -149,6 +135,36 @@
149135
8D57630D048677EA00EA77CD /* QuickLookCSV */ = {
150136
activeExec = 0;
151137
};
138+
EE155BB510544D870015EAF0 /* PBXTextBookmark */ = {
139+
isa = PBXTextBookmark;
140+
fRef = EEB3EDCE0FFE38D800B7462F /* CSVDocument.m */;
141+
name = "CSVDocument.m: 140";
142+
rLen = 0;
143+
rLoc = 4453;
144+
rType = 0;
145+
vrLen = 1698;
146+
vrLoc = 3542;
147+
};
148+
EE155BBA10544D9A0015EAF0 /* PBXTextBookmark */ = {
149+
isa = PBXTextBookmark;
150+
fRef = EEB3EDCE0FFE38D800B7462F /* CSVDocument.m */;
151+
name = "CSVDocument.m: 139";
152+
rLen = 0;
153+
rLoc = 4357;
154+
rType = 0;
155+
vrLen = 1638;
156+
vrLoc = 3137;
157+
};
158+
EE1DB90B1050778D00D6B075 /* PBXTextBookmark */ = {
159+
isa = PBXTextBookmark;
160+
fRef = 089C167EFE841241C02AAC07 /* English */;
161+
name = "InfoPlist.strings: 3";
162+
rLen = 0;
163+
rLoc = 96;
164+
rType = 0;
165+
vrLen = 202;
166+
vrLoc = 0;
167+
};
152168
EE77BE4B0FFEB207008B09DE /* English */ = {
153169
uiCtxt = {
154170
sepNavIntBoundsRect = "{{0, 0}, {1027, 768}}";
@@ -243,16 +259,6 @@
243259
vrLen = 1755;
244260
vrLoc = 5696;
245261
};
246-
EEA3A591104879AB00AA5FA8 /* PBXTextBookmark */ = {
247-
isa = PBXTextBookmark;
248-
fRef = EEB3EDCE0FFE38D800B7462F /* CSVDocument.m */;
249-
name = "CSVDocument.m: 203";
250-
rLen = 0;
251-
rLoc = 6085;
252-
rType = 0;
253-
vrLen = 2048;
254-
vrLoc = 1262;
255-
};
256262
EEA3A593104879AB00AA5FA8 /* PBXTextBookmark */ = {
257263
isa = PBXTextBookmark;
258264
fRef = 08FB77B6FE84183AC02AAC07 /* main.c */;
@@ -273,116 +279,14 @@
273279
vrLen = 828;
274280
vrLoc = 0;
275281
};
276-
EEA3A598104879AB00AA5FA8 /* PBXTextBookmark */ = {
277-
isa = PBXTextBookmark;
278-
fRef = 61E3BCFA0870B4F2002186A0 /* GenerateThumbnailForURL.m */;
279-
name = "GenerateThumbnailForURL.m: 186";
280-
rLen = 0;
281-
rLoc = 6810;
282-
rType = 0;
283-
vrLen = 1755;
284-
vrLoc = 5696;
285-
};
286282
EEA3A599104879AB00AA5FA8 /* PBXTextBookmark */ = {
287283
isa = PBXTextBookmark;
288284
fRef = 089C167EFE841241C02AAC07 /* English */;
289285
name = "InfoPlist.strings: 1";
290286
rLen = 0;
291287
rLoc = 0;
292288
rType = 0;
293-
vrLen = 204;
294-
vrLoc = 0;
295-
};
296-
EEA3A59A104879AB00AA5FA8 /* PlistBookmark */ = {
297-
isa = PlistBookmark;
298-
fRef = 8D576317048677EA00EA77CD /* Info.plist */;
299-
fallbackIsa = PBXBookmark;
300-
isK = 0;
301-
kPath = (
302-
);
303-
name = "/Users/pp/Programming/Cocoa/quicklook-csv/Info.plist";
304-
rLen = 0;
305-
rLoc = 2147483647;
306-
};
307-
EEA3A59B104879AB00AA5FA8 /* PBXTextBookmark */ = {
308-
isa = PBXTextBookmark;
309-
fRef = EEB3EDCE0FFE38D800B7462F /* CSVDocument.m */;
310-
name = "CSVDocument.m: 203";
311-
rLen = 0;
312-
rLoc = 6085;
313-
rType = 0;
314-
vrLen = 2048;
315-
vrLoc = 1262;
316-
};
317-
EEA3A59C104879AB00AA5FA8 /* PBXTextBookmark */ = {
318-
isa = PBXTextBookmark;
319-
fRef = 2C05A19B06CAA52B00D84F6F /* GeneratePreviewForURL.m */;
320-
name = "GeneratePreviewForURL.m: 81";
321-
rLen = 0;
322-
rLoc = 3134;
323-
rType = 0;
324-
vrLen = 2149;
325-
vrLoc = 2370;
326-
};
327-
EEA3A59D104879AB00AA5FA8 /* PBXTextBookmark */ = {
328-
isa = PBXTextBookmark;
329-
fRef = 08FB77B6FE84183AC02AAC07 /* main.c */;
330-
name = "main.c: 151";
331-
rLen = 0;
332-
rLoc = 6213;
333-
rType = 0;
334-
vrLen = 1838;
335-
vrLoc = 0;
336-
};
337-
EEA3A59E104879AB00AA5FA8 /* PBXTextBookmark */ = {
338-
isa = PBXTextBookmark;
339-
fRef = EE77BE4B0FFEB207008B09DE /* English */;
340-
name = "Localizable.strings: 10";
341-
rLen = 0;
342-
rLoc = 212;
343-
rType = 0;
344-
vrLen = 359;
345-
vrLoc = 0;
346-
};
347-
EEA3A59F104879AB00AA5FA8 /* PBXTextBookmark */ = {
348-
isa = PBXTextBookmark;
349-
fRef = EEB3EE850FFE513200B7462F /* Style.css */;
350-
name = "Style.css: 11";
351-
rLen = 0;
352-
rLoc = 343;
353-
rType = 0;
354-
vrLen = 828;
355-
vrLoc = 0;
356-
};
357-
EEA3A5A0104879AB00AA5FA8 /* PlistBookmark */ = {
358-
isa = PlistBookmark;
359-
fRef = 8D576317048677EA00EA77CD /* Info.plist */;
360-
fallbackIsa = PBXBookmark;
361-
isK = 0;
362-
kPath = (
363-
);
364-
name = "/Users/pp/Programming/Cocoa/quicklook-csv/Info.plist";
365-
rLen = 0;
366-
rLoc = 2147483647;
367-
};
368-
EEA3A5A1104879AB00AA5FA8 /* PBXTextBookmark */ = {
369-
isa = PBXTextBookmark;
370-
fRef = 089C167EFE841241C02AAC07 /* English */;
371-
name = "InfoPlist.strings: 1";
372-
rLen = 0;
373-
rLoc = 0;
374-
rType = 0;
375-
vrLen = 204;
376-
vrLoc = 0;
377-
};
378-
EEA3A5A2104879AB00AA5FA8 /* PBXTextBookmark */ = {
379-
isa = PBXTextBookmark;
380-
fRef = EE77BE4B0FFEB207008B09DE /* English */;
381-
name = "Localizable.strings: 10";
382-
rLen = 0;
383-
rLoc = 212;
384-
rType = 0;
385-
vrLen = 359;
289+
vrLen = 202;
386290
vrLoc = 0;
387291
};
388292
EEA3A5BC10487C0300AA5FA8 /* PlistBookmark */ = {
@@ -420,41 +324,6 @@
420324
vrLen = 359;
421325
vrLoc = 0;
422326
};
423-
EEA3A5BF10487C0300AA5FA8 /* PlistBookmark */ = {
424-
isa = PlistBookmark;
425-
fRef = 8D576317048677EA00EA77CD /* Info.plist */;
426-
fallbackIsa = PBXBookmark;
427-
isK = 0;
428-
kPath = (
429-
CFBundleDocumentTypes,
430-
0,
431-
LSItemContentTypes,
432-
0,
433-
);
434-
name = "/Users/pp/Programming/Cocoa/quicklook-csv/Info.plist";
435-
rLen = 0;
436-
rLoc = 2147483647;
437-
};
438-
EEA3A5C010487C0300AA5FA8 /* PBXTextBookmark */ = {
439-
isa = PBXTextBookmark;
440-
fRef = EE883106100141B9005590AE /* INSTALL.rtf */;
441-
name = "INSTALL.rtf: 8";
442-
rLen = 0;
443-
rLoc = 278;
444-
rType = 0;
445-
vrLen = 334;
446-
vrLoc = 0;
447-
};
448-
EEA3A5C110487C0300AA5FA8 /* PBXTextBookmark */ = {
449-
isa = PBXTextBookmark;
450-
fRef = EE77BE4B0FFEB207008B09DE /* English */;
451-
name = "Localizable.strings: 10";
452-
rLen = 0;
453-
rLoc = 212;
454-
rType = 0;
455-
vrLen = 359;
456-
vrLoc = 0;
457-
};
458327
EEA3A5C310487C4200AA5FA8 /* PBXTextBookmark */ = {
459328
isa = PBXTextBookmark;
460329
fRef = 2C05A19B06CAA52B00D84F6F /* GeneratePreviewForURL.m */;
@@ -465,36 +334,6 @@
465334
vrLen = 1117;
466335
vrLoc = 0;
467336
};
468-
EEA3A5C510487C4200AA5FA8 /* PBXTextBookmark */ = {
469-
isa = PBXTextBookmark;
470-
fRef = 2C05A19B06CAA52B00D84F6F /* GeneratePreviewForURL.m */;
471-
name = "GeneratePreviewForURL.m: 81";
472-
rLen = 0;
473-
rLoc = 3134;
474-
rType = 0;
475-
vrLen = 1117;
476-
vrLoc = 0;
477-
};
478-
EEA3A5C810487F2B00AA5FA8 /* PBXTextBookmark */ = {
479-
isa = PBXTextBookmark;
480-
fRef = 089C167EFE841241C02AAC07 /* English */;
481-
name = "InfoPlist.strings: 3";
482-
rLen = 0;
483-
rLoc = 96;
484-
rType = 0;
485-
vrLen = 202;
486-
vrLoc = 0;
487-
};
488-
EEA3A5C910487F2B00AA5FA8 /* PBXTextBookmark */ = {
489-
isa = PBXTextBookmark;
490-
fRef = 089C167EFE841241C02AAC07 /* English */;
491-
name = "InfoPlist.strings: 3";
492-
rLen = 0;
493-
rLoc = 96;
494-
rType = 0;
495-
vrLen = 202;
496-
vrLoc = 0;
497-
};
498337
EEB3ED180FFE215D00B7462F /* Source Control */ = {
499338
isa = PBXSourceControlManager;
500339
fallbackIsa = XCSourceControlManager;
@@ -556,9 +395,9 @@
556395
};
557396
EEB3EDCE0FFE38D800B7462F /* CSVDocument.m */ = {
558397
uiCtxt = {
559-
sepNavIntBoundsRect = "{{0, 0}, {1027, 3472}}";
560-
sepNavSelRange = "{6085, 0}";
561-
sepNavVisRange = "{1262, 2048}";
398+
sepNavIntBoundsRect = "{{0, 0}, {1027, 3440}}";
399+
sepNavSelRange = "{4357, 0}";
400+
sepNavVisRange = "{3137, 1638}";
562401
};
563402
};
564403
EEB3EDD30FFE3B7F00B7462F /* CSVRowObject.h */ = {
@@ -590,7 +429,7 @@
590429
fRef = EEB3EDCE0FFE38D800B7462F /* CSVDocument.m */;
591430
name = "CSVObject.m: 16";
592431
rLen = 0;
593-
rLoc = 6141;
432+
rLoc = 6262;
594433
rType = 0;
595434
vrLen = 267;
596435
vrLoc = 0;

0 commit comments

Comments
 (0)