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