Author: rfm
Date: Mon Feb 29 10:20:43 2016
New Revision: 39422

URL: http://svn.gna.org/viewcvs/gnustep?rev=39422&view=rev
Log:
Misc minor bugfixes

Modified:
    libs/base/trunk/ChangeLog
    libs/base/trunk/Source/NSDateFormatter.m
    libs/base/trunk/Source/NSTask.m

Modified: libs/base/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/ChangeLog?rev=39422&r1=39421&r2=39422&view=diff
==============================================================================
--- libs/base/trunk/ChangeLog   (original)
+++ libs/base/trunk/ChangeLog   Mon Feb 29 10:20:43 2016
@@ -1,7 +1,10 @@
 2016-02-29  Richard Frith-Macdonald <[email protected]>
 
-       * Based on testplant patch, fix bug with ownership when copying
-       subdirectories.
+       * Source/NSFileManager.m: Based on testplant patch, fix bug with
+       ownership when copying subdirectories.
+       * Source/NSTask.m OSX compatibility tweak .. raise an exception if
+       the task can't be launched.
+       * Source/NSNumberFormatter.m: Fixes for symbol indexes.
 
 2016-02-26     Niels Grewe <[email protected]>
 

Modified: libs/base/trunk/Source/NSDateFormatter.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSDateFormatter.m?rev=39422&r1=39421&r2=39422&view=diff
==============================================================================
--- libs/base/trunk/Source/NSDateFormatter.m    (original)
+++ libs/base/trunk/Source/NSDateFormatter.m    Mon Feb 29 10:20:43 2016
@@ -63,8 +63,8 @@
 
 @interface NSDateFormatter (PrivateMethods)
 - (void) _resetUDateFormat;
-- (void) _setSymbols: (NSArray *) array : (NSInteger) symbol;
-- (NSArray *) _getSymbols: (NSInteger) symbol;
+- (void) _setSymbols: (NSArray *)array : (NSInteger)symbol;
+- (NSArray *) _getSymbols: (NSInteger)symbol;
 @end
 
 static inline NSInteger
@@ -297,7 +297,7 @@
   return _defaultBehavior;
 }
 
-+ (void) setDefaultFormatterBehavior: (NSDateFormatterBehavior) behavior
++ (void) setDefaultFormatterBehavior: (NSDateFormatterBehavior)behavior
 {
   _defaultBehavior = behavior;
 }
@@ -307,7 +307,7 @@
   return internal->_behavior;
 }
 
-- (void) setFormatterBehavior: (NSDateFormatterBehavior) behavior
+- (void) setFormatterBehavior: (NSDateFormatterBehavior)behavior
 {
   internal->_behavior = behavior;
 }
@@ -317,7 +317,7 @@
   return NO; // FIXME
 }
 
-- (void) setGeneratesCalendarDates: (BOOL) flag
+- (void) setGeneratesCalendarDates: (BOOL)flag
 {
   return; // FIXME
 }
@@ -331,7 +331,7 @@
 #endif
 }
 
-- (void) setLenient: (BOOL) flag
+- (void) setLenient: (BOOL)flag
 {
 #if GS_USE_ICU == 1
   udat_setLenient (internal->_formatter, flag);
@@ -408,7 +408,7 @@
   return NO; // FIXME
 }
 
-- (void) setDateFormat: (NSString *) string
+- (void) setDateFormat: (NSString *)string
 {
 #if GS_USE_ICU == 1
   UChar *pattern;
@@ -430,7 +430,7 @@
   return internal->_dateStyle;
 }
 
-- (void) setDateStyle: (NSDateFormatterStyle) style
+- (void) setDateStyle: (NSDateFormatterStyle)style
 {
   internal->_dateStyle = style;
   [self _resetUDateFormat];
@@ -441,7 +441,7 @@
   return internal->_timeStyle;
 }
 
-- (void) setTimeStyle: (NSDateFormatterStyle) style
+- (void) setTimeStyle: (NSDateFormatterStyle)style
 {
   internal->_timeStyle = style;
   [self _resetUDateFormat];
@@ -452,7 +452,7 @@
   return [internal->_locale objectForKey: NSLocaleCalendar];
 }
 
-- (void) setCalendar: (NSCalendar *) calendar
+- (void) setCalendar: (NSCalendar *)calendar
 {
   NSMutableDictionary *dict;
   NSLocale *locale;
@@ -474,7 +474,7 @@
   return nil;  // FIXME
 }
 
-- (void) setDefaultDate: (NSDate *) date
+- (void) setDefaultDate: (NSDate *)date
 {
   return; // FIXME
 }
@@ -484,7 +484,7 @@
   return internal->_locale;
 }
 
-- (void) setLocale: (NSLocale *) locale
+- (void) setLocale: (NSLocale *)locale
 {
   if (locale == internal->_locale)
     return;
@@ -499,7 +499,7 @@
   return internal->_tz;
 }
 
-- (void) setTimeZone: (NSTimeZone *) tz
+- (void) setTimeZone: (NSTimeZone *)tz
 {
   if (tz == internal->_tz)
     return;
@@ -520,7 +520,7 @@
 #endif
 }
 
-- (void) setTwoDigitStartDate: (NSDate *) date
+- (void) setTwoDigitStartDate: (NSDate *)date
 {
 #if GS_USE_ICU == 1
   UErrorCode err = U_ZERO_ERROR;
@@ -560,7 +560,7 @@
 #endif
 }
 
-- (void) setPMSymbol: (NSString *) string
+- (void) setPMSymbol: (NSString *)string
 {
   return;
 }
@@ -574,7 +574,7 @@
 #endif
 }
 
-- (void) setWeekdaySymbols: (NSArray *) array
+- (void) setWeekdaySymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_WEEKDAYS];
@@ -592,10 +592,10 @@
 #endif
 }
 
-- (void) setShortWeekdaySymbols: (NSArray *) array
-{
-#if GS_USE_ICU == 1
-  [self _getSymbols: UDAT_SHORT_WEEKDAYS];
+- (void) setShortWeekdaySymbols: (NSArray *)array
+{
+#if GS_USE_ICU == 1
+  [self _setSymbols: array : UDAT_SHORT_WEEKDAYS];
 #else
   return;
 #endif
@@ -610,10 +610,10 @@
 #endif
 }
 
-- (void) setMonthSymbols: (NSArray *) array
-{
-#if GS_USE_ICU == 1
-  [self _getSymbols: UDAT_MONTHS];
+- (void) setMonthSymbols: (NSArray *)array
+{
+#if GS_USE_ICU == 1
+  [self _setSymbols: array : UDAT_MONTHS];
 #else
   return;
 #endif
@@ -628,10 +628,10 @@
 #endif
 }
 
-- (void) setShortMonthSymbols: (NSArray *) array
-{
-#if GS_USE_ICU == 1
-  [self _getSymbols: UDAT_SHORT_MONTHS];
+- (void) setShortMonthSymbols: (NSArray *)array
+{
+#if GS_USE_ICU == 1
+  [self _setSymbols: array : UDAT_SHORT_MONTHS];
 #else
   return;
 #endif
@@ -646,7 +646,7 @@
 #endif
 }
 
-- (void) setEraSymbols: (NSArray *) array
+- (void) setEraSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_ERAS];
@@ -660,7 +660,7 @@
   return nil;
 }
 
-- (void) setGregorianStartDate: (NSDate *) date
+- (void) setGregorianStartDate: (NSDate *)date
 {
   return;
 }
@@ -674,7 +674,7 @@
 #endif
 }
 
-- (void) setLongEraSymbols: (NSArray *) array
+- (void) setLongEraSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_ERA_NAMES];
@@ -693,7 +693,7 @@
 #endif
 }
 
-- (void) setQuarterSymbols: (NSArray *) array
+- (void) setQuarterSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_QUARTERS];
@@ -711,7 +711,7 @@
 #endif
 }
 
-- (void) setShortQuarterSymbols: (NSArray *) array
+- (void) setShortQuarterSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_SHORT_QUARTERS];
@@ -729,7 +729,7 @@
 #endif
 }
 
-- (void) setStandaloneQuarterSymbols: (NSArray *) array
+- (void) setStandaloneQuarterSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_QUARTERS];
@@ -747,7 +747,7 @@
 #endif
 }
 
-- (void) setShortStandaloneQuarterSymbols: (NSArray *) array
+- (void) setShortStandaloneQuarterSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_SHORT_QUARTERS];
@@ -765,7 +765,7 @@
 #endif
 }
 
-- (void) setShortStandaloneMonthSymbols: (NSArray *) array
+- (void) setShortStandaloneMonthSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_SHORT_MONTHS];
@@ -783,7 +783,7 @@
 #endif
 }
 
-- (void) setStandaloneMonthSymbols: (NSArray *) array
+- (void) setStandaloneMonthSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_MONTHS];
@@ -801,7 +801,7 @@
 #endif
 }
 
-- (void) setVeryShortMonthSymbols: (NSArray *) array
+- (void) setVeryShortMonthSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_NARROW_MONTHS];
@@ -819,7 +819,7 @@
 #endif
 }
 
-- (void) setVeryShortStandaloneMonthSymbols: (NSArray *) array
+- (void) setVeryShortStandaloneMonthSymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_NARROW_MONTHS];
@@ -837,7 +837,7 @@
 #endif
 }
 
-- (void) setShortStandaloneWeekdaySymbols: (NSArray *) array
+- (void) setShortStandaloneWeekdaySymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_SHORT_WEEKDAYS];
@@ -855,7 +855,7 @@
 #endif
 }
 
-- (void) setStandaloneWeekdaySymbols: (NSArray *) array
+- (void) setStandaloneWeekdaySymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_WEEKDAYS];
@@ -873,7 +873,7 @@
 #endif
 }
 
-- (void) setVeryShortWeekdaySymbols: (NSArray *) array
+- (void) setVeryShortWeekdaySymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_SHORT_WEEKDAYS];
@@ -891,7 +891,7 @@
 #endif
 }
 
-- (void) setVeryShortStandaloneWeekdaySymbols: (NSArray *) array
+- (void) setVeryShortStandaloneWeekdaySymbols: (NSArray *)array
 {
 #if GS_USE_ICU == 1
   [self _setSymbols: array : UDAT_STANDALONE_NARROW_WEEKDAYS];
@@ -955,7 +955,7 @@
   return (internal->_dateStyle & FormatterDoesRelativeDateFormatting) ? YES : 
NO;
 }
 
-- (void) setDoesRelativeDateFormatting: (BOOL) flag
+- (void) setDoesRelativeDateFormatting: (BOOL)flag
 {
   internal->_dateStyle |= FormatterDoesRelativeDateFormatting;
 }
@@ -1006,56 +1006,79 @@
 #endif
 }
 
-- (void) _setSymbols: (NSArray *) array : (NSInteger) symbol
-{
-#if GS_USE_ICU == 1
-  int idx = 0;
+static inline void
+symbolRange(NSInteger symbol, int *from)
+{
+  switch (symbol)
+    {
+      case UDAT_SHORT_WEEKDAYS:
+      case UDAT_STANDALONE_NARROW_WEEKDAYS:
+      case UDAT_STANDALONE_SHORT_WEEKDAYS:
+      case UDAT_STANDALONE_WEEKDAYS:
+      case UDAT_WEEKDAYS:
+        /* In ICU days of the week number from 1 rather than zero.
+         */
+        *from = 1;
+        break;
+
+      default:
+        *from = 0;
+        break;
+    }
+}
+
+- (void) _setSymbols: (NSArray*)array : (NSInteger)symbol
+{
+#if GS_USE_ICU == 1
+  int idx;
   int count = udat_countSymbols (internal->_formatter, symbol);
   
-  if ([array count] != count)
-    return;
-  
+  symbolRange(symbol, &idx);
+  if ([array count] == count - idx)
+    {
+      while (idx < count)
+        {
+          int           length;
+          UChar         *value;
+          UErrorCode    err = U_ZERO_ERROR;
+          NSString      *string = [array objectAtIndex: idx];
+          
+          length = [string length];
+          value = malloc(sizeof(unichar) * length);
+          [string getCharacters: value range: NSMakeRange(0, length)];
+          udat_setSymbols(internal->_formatter, symbol, idx,
+            value, length, &err);
+          free(value);
+          ++idx;
+        }
+    }
+#endif
+  return;
+}
+
+- (NSArray *) _getSymbols: (NSInteger)symbol
+{
+#if GS_USE_ICU == 1
+  NSMutableArray        *mArray;
+  int                   idx;
+  int                   count;
+  
+  count = udat_countSymbols(internal->_formatter, symbol);
+  symbolRange(symbol, &idx);
+  mArray = [NSMutableArray arrayWithCapacity: count - idx];
   while (idx < count)
     {
-      int length;
-      UChar *value;
-      UErrorCode err = U_ZERO_ERROR;
-      NSString *string = [array objectAtIndex: idx];
-      
-      length = [string length];
-      value = malloc(sizeof(unichar) * length);
-      [string getCharacters: value range: NSMakeRange(0, length)];
-      udat_setSymbols (internal->_formatter, symbol, idx, value, length, &err);
-      free(value);
-      
-      ++idx;
-    }
-#else
-  return;
-#endif
-}
-
-- (NSArray *) _getSymbols: (NSInteger) symbol
-{
-#if GS_USE_ICU == 1
-  NSMutableArray *mArray;
-  int idx = 0;
-  int count = udat_countSymbols (internal->_formatter, symbol);
-  
-  mArray = [NSMutableArray arrayWithCapacity: count];
-  while (idx < count)
-    {
-      int length;
-      unichar *value;
-      NSString *str;
-      NSZone *z = [self zone];
-      UErrorCode err = U_ERROR_LIMIT;
+      int               length;
+      unichar           *value;
+      NSString          *str;
+      NSZone            *z = [self zone];
+      UErrorCode        err = U_ERROR_LIMIT;
       
       length
-       = udat_getSymbols (internal->_formatter, symbol, idx, NULL, 0, &err);
-      value = NSZoneMalloc (z, sizeof(unichar) * (length + 1));
+        = udat_getSymbols(internal->_formatter, symbol, idx, NULL, 0, &err);
+      value = NSZoneMalloc(z, sizeof(unichar) * (length + 1));
       err = U_ZERO_ERROR;
-      udat_getSymbols (internal->_formatter, symbol, idx, value, length, &err);
+      udat_getSymbols(internal->_formatter, symbol, idx, value, length, &err);
       if (U_SUCCESS(err))
         {
           str = [[NSString allocWithZone: z]

Modified: libs/base/trunk/Source/NSTask.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSTask.m?rev=39422&r1=39421&r2=39422&view=diff
==============================================================================
--- libs/base/trunk/Source/NSTask.m     (original)
+++ libs/base/trunk/Source/NSTask.m     Mon Feb 29 10:20:43 2016
@@ -1263,10 +1263,10 @@
   SetHandleInformation(hErr, HANDLE_FLAG_INHERIT, 0);
   [tasksLock unlock];
 
-  if (result == 0)
-    {
-      NSLog(@"Error launching task: %@ ... %@", lpath, last);
-      return;
+  if (0 == result)
+    {
+      [NSException raise: NSInvalidArgumentException
+        format: @"NSTask - Error launching task: %@ ... %@", lpath, last];
     }
 
   _taskId = procInfo.dwProcessId;


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

Reply via email to