Author: gcasa
Date: Mon Mar  2 06:07:39 2015
New Revision: 38372

URL: http://svn.gna.org/viewcvs/gnustep?rev=38372&view=rev
Log:
Correction for bug#44343.   Set to ready for test.

Modified:
    apps/gorm/trunk/ChangeLog
    apps/gorm/trunk/GormObjCHeaderParser/OCHeaderParser.m

Modified: apps/gorm/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/apps/gorm/trunk/ChangeLog?rev=38372&r1=38371&r2=38372&view=diff
==============================================================================
--- apps/gorm/trunk/ChangeLog   (original)
+++ apps/gorm/trunk/ChangeLog   Mon Mar  2 06:07:39 2015
@@ -1,3 +1,9 @@
+2015-03-02 00:04-EST Gregory John Casamento <[email protected]>
+
+       * GormObjCHeaderParser/OCHeaderParser.m: Add _stripRedundantStatements
+       method which eliminates excess empty statements from the code which
+       could confuse the parser.
+
 2015-02-22 21:21-EST Gregory John Casamento <[email protected]>
 
        * English.lproj/GormPreferences.gorm: Removed from pulldown menu

Modified: apps/gorm/trunk/GormObjCHeaderParser/OCHeaderParser.m
URL: 
http://svn.gna.org/viewcvs/gnustep/apps/gorm/trunk/GormObjCHeaderParser/OCHeaderParser.m?rev=38372&r1=38371&r2=38372&view=diff
==============================================================================
--- apps/gorm/trunk/GormObjCHeaderParser/OCHeaderParser.m       (original)
+++ apps/gorm/trunk/GormObjCHeaderParser/OCHeaderParser.m       Mon Mar  2 
06:07:39 2015
@@ -111,10 +111,38 @@
   ASSIGN(fileData,resultString);
 }
 
+- (void) _stripRedundantStatements
+{
+  NSScanner *scanner = [NSScanner scannerWithString: fileData];
+  NSString *resultString = @""; // [NSString stringWithString: @""];
+
+  // strip all of the one line comments out...
+  [scanner setCharactersToBeSkipped: nil];
+  while(![scanner isAtEnd])
+    {
+      NSString *tempString = nil, *aString = nil;
+      [scanner scanUpToAndIncludingString: @";" intoString: &tempString];
+      
+      // Scan any redundant ";" characters into aString... once it
+      // returns nil we know we're done.
+      do {
+       aString = nil;
+       [scanner scanString: @";" intoString: &aString];
+      } while([aString isEqualToString:@";"]);
+       
+      [scanner scanUpToAndIncludingString: @"\n" intoString: NULL];
+      resultString = [resultString stringByAppendingString: tempString];
+    }
+
+  // make this our new fileData...
+  ASSIGN(fileData,resultString);
+}
+
 - (void) _preProcessFile
 {
   [self _stripComments];
   [self _stripPreProcessor];
+  [self _stripRedundantStatements];
 }
 
 - (BOOL) _processClasses


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to