1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
1999-12-21  Shinya Hanataka  <hanataka@abyss.rim.or.jp>

	* locale/lc-time.c: Extend structure era_entry.
	* locale/localeinfo.h: Likewise.
	* locale/lc-time.c: Handle '-' direction used in locale's era part
	properly.
	* time/strptime.c: Likewise.
	* time/strftime.c: Likewise.
	* locale/programs/ld-time.c: Consider negative values in era part
	of locale as B.C..
	* time/strptime.c (strptime_internal): Merged Yoshiyama's
	%E[CyY] implementation.

1999-12-21  Akira Yoshiyama  <yosshy@debian.or.jp>

	* time/strptime.c (strptime_internal): Fix segV bugs of a couple
	of recursive() call.
	* time/strptime.c (strptime_internal): Implement `%EC',`%Ey',`%EY'
	parsing.

1999-12-21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/arm/dl-machine.c (CLEAR_CACHE): Fix a2 value.
	Patch by Scott Bambrough <scottb@netwinder.org>.
This commit is contained in:
Ulrich Drepper
1999-12-21 17:50:57 +00:00
parent bef248950a
commit 958d68077b
9 changed files with 256 additions and 159 deletions

View File

@@ -834,19 +834,11 @@ my_strftime (s, maxsize, format, tp ut_argument)
if (era)
{
# ifdef COMPILE_WIDE
/* The wide name is after the multi byte name and
format. */
wchar_t *ws;
size_t len;
char *tcp = strchr (era->name_fmt, '\0') + 1;
tcp = strchr (tcp, '\0') + 1;
tcp += 3 - (((tcp - era->name_fmt) + 3) & 3);
ws = (wchar_t *) tcp;
len = wcslen (ws);
cpy (len, ws);
size_t len = strlen (era->era_name);
cpy (len, era->era_name);
# else
size_t len = strlen (era->name_fmt);
cpy (len, era->name_fmt);
size_t len = strlen (era->era_name);
cpy (len, era->era_name);
# endif
break;
}
@@ -1199,15 +1191,9 @@ my_strftime (s, maxsize, format, tp ut_argument)
if (era)
{
# ifdef COMPILE_WIDE
/* The wide name is after the multi byte name and
format. */
char *tcp = strchr (era->name_fmt, '\0') + 1;
tcp = strchr (tcp, '\0') + 1;
tcp += 3 - (((tcp - era->name_fmt) + 3) & 3);
subfmt = (wchar_t *) tcp;
subfmt = wcschr (subfmt, L'\0') + 1;
subfmt = era->era_wformat;
# else
subfmt = strchr (era->name_fmt, '\0') + 1;
subfmt = era->era_format;
# endif
goto subformat;
}
@@ -1231,7 +1217,7 @@ my_strftime (s, maxsize, format, tp ut_argument)
{
int delta = tp->tm_year - era->start_date[0];
DO_NUMBER (1, (era->offset
+ (era->direction == '-' ? -delta : delta)));
+ delta * era->absolute_direction));
}
#else
# if HAVE_STRFTIME