Misc minor bugfixes

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39422 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2016-02-29 09:20:43 +00:00
parent 59d489fdc8
commit fbee572507
3 changed files with 105 additions and 79 deletions

View file

@ -1,7 +1,10 @@
2016-02-29 Richard Frith-Macdonald <rfm@gnu.org>
* 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 <niels.grewe@halbordnung.de>

View file

@ -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 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return _defaultBehavior;
}
+ (void) setDefaultFormatterBehavior: (NSDateFormatterBehavior) behavior
+ (void) setDefaultFormatterBehavior: (NSDateFormatterBehavior)behavior
{
_defaultBehavior = behavior;
}
@ -307,7 +307,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return internal->_behavior;
}
- (void) setFormatterBehavior: (NSDateFormatterBehavior) behavior
- (void) setFormatterBehavior: (NSDateFormatterBehavior)behavior
{
internal->_behavior = behavior;
}
@ -317,7 +317,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return NO; // FIXME
}
- (void) setGeneratesCalendarDates: (BOOL) flag
- (void) setGeneratesCalendarDates: (BOOL)flag
{
return; // FIXME
}
@ -331,7 +331,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setLenient: (BOOL) flag
- (void) setLenient: (BOOL)flag
{
#if GS_USE_ICU == 1
udat_setLenient (internal->_formatter, flag);
@ -408,7 +408,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return NO; // FIXME
}
- (void) setDateFormat: (NSString *) string
- (void) setDateFormat: (NSString *)string
{
#if GS_USE_ICU == 1
UChar *pattern;
@ -430,7 +430,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return internal->_dateStyle;
}
- (void) setDateStyle: (NSDateFormatterStyle) style
- (void) setDateStyle: (NSDateFormatterStyle)style
{
internal->_dateStyle = style;
[self _resetUDateFormat];
@ -441,7 +441,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return internal->_timeStyle;
}
- (void) setTimeStyle: (NSDateFormatterStyle) style
- (void) setTimeStyle: (NSDateFormatterStyle)style
{
internal->_timeStyle = style;
[self _resetUDateFormat];
@ -452,7 +452,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return [internal->_locale objectForKey: NSLocaleCalendar];
}
- (void) setCalendar: (NSCalendar *) calendar
- (void) setCalendar: (NSCalendar *)calendar
{
NSMutableDictionary *dict;
NSLocale *locale;
@ -474,7 +474,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return nil; // FIXME
}
- (void) setDefaultDate: (NSDate *) date
- (void) setDefaultDate: (NSDate *)date
{
return; // FIXME
}
@ -484,7 +484,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return internal->_locale;
}
- (void) setLocale: (NSLocale *) locale
- (void) setLocale: (NSLocale *)locale
{
if (locale == internal->_locale)
return;
@ -499,7 +499,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return internal->_tz;
}
- (void) setTimeZone: (NSTimeZone *) tz
- (void) setTimeZone: (NSTimeZone *)tz
{
if (tz == internal->_tz)
return;
@ -520,7 +520,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setTwoDigitStartDate: (NSDate *) date
- (void) setTwoDigitStartDate: (NSDate *)date
{
#if GS_USE_ICU == 1
UErrorCode err = U_ZERO_ERROR;
@ -560,7 +560,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setPMSymbol: (NSString *) string
- (void) setPMSymbol: (NSString *)string
{
return;
}
@ -574,7 +574,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setWeekdaySymbols: (NSArray *) array
- (void) setWeekdaySymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_WEEKDAYS];
@ -592,10 +592,10 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setShortWeekdaySymbols: (NSArray *) array
- (void) setShortWeekdaySymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _getSymbols: UDAT_SHORT_WEEKDAYS];
[self _setSymbols: array : UDAT_SHORT_WEEKDAYS];
#else
return;
#endif
@ -610,10 +610,10 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setMonthSymbols: (NSArray *) array
- (void) setMonthSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _getSymbols: UDAT_MONTHS];
[self _setSymbols: array : UDAT_MONTHS];
#else
return;
#endif
@ -628,10 +628,10 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setShortMonthSymbols: (NSArray *) array
- (void) setShortMonthSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _getSymbols: UDAT_SHORT_MONTHS];
[self _setSymbols: array : UDAT_SHORT_MONTHS];
#else
return;
#endif
@ -646,7 +646,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setEraSymbols: (NSArray *) array
- (void) setEraSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_ERAS];
@ -660,7 +660,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return nil;
}
- (void) setGregorianStartDate: (NSDate *) date
- (void) setGregorianStartDate: (NSDate *)date
{
return;
}
@ -674,7 +674,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setLongEraSymbols: (NSArray *) array
- (void) setLongEraSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_ERA_NAMES];
@ -693,7 +693,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setQuarterSymbols: (NSArray *) array
- (void) setQuarterSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_QUARTERS];
@ -711,7 +711,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setShortQuarterSymbols: (NSArray *) array
- (void) setShortQuarterSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_SHORT_QUARTERS];
@ -729,7 +729,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setStandaloneQuarterSymbols: (NSArray *) array
- (void) setStandaloneQuarterSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_STANDALONE_QUARTERS];
@ -747,7 +747,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#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 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#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 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setStandaloneMonthSymbols: (NSArray *) array
- (void) setStandaloneMonthSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_STANDALONE_MONTHS];
@ -801,7 +801,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setVeryShortMonthSymbols: (NSArray *) array
- (void) setVeryShortMonthSymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_NARROW_MONTHS];
@ -819,7 +819,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#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 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#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 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setStandaloneWeekdaySymbols: (NSArray *) array
- (void) setStandaloneWeekdaySymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_STANDALONE_WEEKDAYS];
@ -873,7 +873,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) setVeryShortWeekdaySymbols: (NSArray *) array
- (void) setVeryShortWeekdaySymbols: (NSArray *)array
{
#if GS_USE_ICU == 1
[self _setSymbols: array : UDAT_SHORT_WEEKDAYS];
@ -891,7 +891,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#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 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
return (internal->_dateStyle & FormatterDoesRelativeDateFormatting) ? YES : NO;
}
- (void) setDoesRelativeDateFormatting: (BOOL) flag
- (void) setDoesRelativeDateFormatting: (BOOL)flag
{
internal->_dateStyle |= FormatterDoesRelativeDateFormatting;
}
@ -1006,15 +1006,36 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
#endif
}
- (void) _setSymbols: (NSArray *) array : (NSInteger) symbol
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 = 0;
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;
@ -1025,24 +1046,26 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
length = [string length];
value = malloc(sizeof(unichar) * length);
[string getCharacters: value range: NSMakeRange(0, length)];
udat_setSymbols (internal->_formatter, symbol, idx, value, length, &err);
udat_setSymbols(internal->_formatter, symbol, idx,
value, length, &err);
free(value);
++idx;
}
#else
return;
}
#endif
return;
}
- (NSArray *) _getSymbols: (NSInteger) symbol
- (NSArray *) _getSymbols: (NSInteger)symbol
{
#if GS_USE_ICU == 1
NSMutableArray *mArray;
int idx = 0;
int count = udat_countSymbols (internal->_formatter, symbol);
int idx;
int count;
mArray = [NSMutableArray arrayWithCapacity: count];
count = udat_countSymbols(internal->_formatter, symbol);
symbolRange(symbol, &idx);
mArray = [NSMutableArray arrayWithCapacity: count - idx];
while (idx < count)
{
int length;
@ -1052,10 +1075,10 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
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]

View file

@ -1263,10 +1263,10 @@ quotedFromString(NSString *aString)
SetHandleInformation(hErr, HANDLE_FLAG_INHERIT, 0);
[tasksLock unlock];
if (result == 0)
if (0 == result)
{
NSLog(@"Error launching task: %@ ... %@", lpath, last);
return;
[NSException raise: NSInvalidArgumentException
format: @"NSTask - Error launching task: %@ ... %@", lpath, last];
}
_taskId = procInfo.dwProcessId;