From 94b16e9c18c121c7abdfbaf1a8eb8a8ad7206b1b Mon Sep 17 00:00:00 2001 From: richard Date: Thu, 17 Dec 1998 09:16:26 +0000 Subject: [PATCH] Minor bugfixes git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3478 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 7 +++++++ Source/NSCalendarDate.m | 20 ++++++++++++++++---- Source/NSUser.m | 1 + 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 699e75f31..8db7d3111 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Dec 17 9:30:00 1998 Richard Frith-Macdonald + + NSCalendarDate.m: Try to cope gracefully when locale info is not + available and we want to display a date. Use numeric month and + week designations and hard-code am/pm + NSUser.m: include NSProcessInfo.h + Wed Dec 16 20:30:00 1998 Richard Frith-Macdonald Various modifications suggested by and diff --git a/Source/NSCalendarDate.m b/Source/NSCalendarDate.m index ea6917215..d6596ee39 100644 --- a/Source/NSCalendarDate.m +++ b/Source/NSCalendarDate.m @@ -819,8 +819,11 @@ else months = [locale objectForKey: NSMonthNameArray]; name = [months objectAtIndex: md-1]; - k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%s", + if (name) + k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%s", [name cString])); + else + k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%02d", md)); } else k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%02d", md)); @@ -875,8 +878,11 @@ else days = [locale objectForKey: NSWeekDayNameArray]; name = [days objectAtIndex: dow]; - k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%s", + if (name) + k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%s", [name cString])); + else + k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%02d", dow)); } else k = VSPRINTF_LENGTH(sprintf(&(buf[j]), "%02d", dow)); @@ -917,9 +923,15 @@ ++i; if (hd >= 12) - ampm = [a objectAtIndex: 1]; + if ([a count] > 1) + ampm = [a objectAtIndex: 1]; + else + ampm = @"pm"; else - ampm = [a objectAtIndex: 0]; + if ([a count] > 0) + ampm = [a objectAtIndex: 0]; + else + ampm = @"am"; k = VSPRINTF_LENGTH(sprintf(&(buf[j]), [ampm cString])); j += k; } diff --git a/Source/NSUser.m b/Source/NSUser.m index 99dc3625c..f935b392c 100644 --- a/Source/NSUser.m +++ b/Source/NSUser.m @@ -29,6 +29,7 @@ #include #include #include +#include #include #include // for getenv()