Browse Source

parsing dpkg output is cleaner

Kevin Bradley 1 year ago
parent
commit
52c6d4f2ad
1 changed files with 12 additions and 8 deletions
  1. 12 8
      bootstrapTool/Classes/HelperClass.m

+ 12 - 8
bootstrapTool/Classes/HelperClass.m

@@ -96,7 +96,16 @@
     //    "-rwxr-xr-x  0 root   wheel   69424 Oct 22 03:56 ./Library/MobileSubstrate/DynamicLibraries/beigelist7.dylib\n",
     
     //-rwxr-xr-x root/staff    10860 2011-02-02 03:55 ./Library/Frameworks/CydiaSubstrate.framework/Commands/cycc
-    
+    NSCharacterSet *whitespaceAndCharSet = [NSCharacterSet whitespaceAndNewlineCharacterSet];
+    NSScanner *stringScanner = [[NSScanner alloc] initWithString:inputLine];
+    stringScanner.charactersToBeSkipped = whitespaceAndCharSet;
+    NSString *rawValue = nil;
+    NSMutableArray *lineObjects = [NSMutableArray new];
+    while ([stringScanner scanUpToCharactersFromSet:whitespaceAndCharSet intoString:&rawValue]) {
+        NSString *value = [rawValue stringByTrimmingCharactersInSet:whitespaceAndCharSet];
+        [lineObjects addObject:value];
+    }
+    /*
     inputLine = [inputLine stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
     inputLine = [inputLine stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"\t"]];
     NSMutableString *newString = [[NSMutableString alloc] initWithString:inputLine];
@@ -106,6 +115,7 @@
     [newString replaceOccurrencesOfString:@"   " withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [newString length])];
     [newString replaceOccurrencesOfString:@"  " withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [newString length])];
     NSArray *lineObjects = [newString componentsSeparatedByString:@" "];
+     */
     //NSLog(@"lineObjects: %@", lineObjects);
     /*
      
@@ -152,8 +162,7 @@
         }
             break;
             
-        case BSPackageFileTypeDirectory: //return for now
-            
+        case BSPackageFileTypeDirectory:
             //DLog(@"we dont want directory entries do we %@", lineObjects);
             pf.permissions = octalPermissions;
             pf.owner = octalUG;
@@ -168,8 +177,6 @@
         default:
             break;
     }
-    
-    
     pf.permissions = octalPermissions;
     pf.owner = octalUG;
     pf.size = size;
@@ -178,11 +185,8 @@
     pf.path = fullPath;
     pf.basename = fileName;
     return pf;
-    // return [NSDictionary dictionaryWithObjectsAndKeys:fileType, @"fileType",octalPermissions, @"octalPermissions", octalUG, @"octalUG", size, @"size", date, @"date", time, @"time", fileName, @"fileName", fullPath, @"fullPath",  nil];
-    
 }
 
-
 + (NSString *)octalFromGroupSymbols:(NSString *)theSymbols {
     NSArray *groupArray = [theSymbols componentsSeparatedByString:@"/"];
     NSString *user = [groupArray objectAtIndex:0];