Explorar el Código

Cleanup slightly

Eric Andersen hace 23 años
padre
commit
df052fadc5
Se han modificado 1 ficheros con 10 adiciones y 8 borrados
  1. 10 8
      libc/misc/time/asc_conv.c

+ 10 - 8
libc/misc/time/asc_conv.c

@@ -1,7 +1,9 @@
-
 #include <features.h>
-#include <time.h>
+#include <ctype.h>
+#include <langinfo.h>
 #include <string.h>
+#include <time.h>
+
 /*
  * Internal ascii conversion routine, avoid use of printf, it's a bit big!
  */
@@ -25,13 +27,13 @@
 #ifdef __UCLIBC_HAS_LOCALE__
 /* This is defined in locale/C-time.c in the GNU libc.  */
 extern const struct locale_data _nl_C_LC_TIME;
-extern const unsigned short int __mon_yday[2][13];
-# define __ab_weekday_name \
-  (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABDAY_1)].string)
-# define __ab_month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABMON_1)].string)
+#define __ab_weekday_name(DAY) (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABDAY_1)+(DAY)].string)
+#define __ab_month_name(MON)   (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABMON_1)+(MON)].string)
 #else
 extern char const __ab_weekday_name[][4];
 extern char const __ab_month_name[][4];
+#define __ab_weekday_name(DAY) (__ab_weekday_name[DAY])
+#define __ab_month_name(MON)   (__ab_month_name[MON])
 #endif
 
 void __asctime(register char *buffer, struct tm *ptm)
@@ -45,11 +47,11 @@ void __asctime(register char *buffer, struct tm *ptm)
 	memcpy(buffer, template, sizeof(template));
 
 	if ((ptm->tm_wday >= 0) && (ptm->tm_wday <= 6)) {
-		memcpy(buffer, __ab_weekday_name[ptm->tm_wday], 3);
+		memcpy(buffer, __ab_weekday_name(ptm->tm_wday), 3);
 	}
 
 	if ((ptm->tm_mon >= 0) && (ptm->tm_mon <= 11)) {
-		memcpy(buffer + 4, __ab_month_name[ptm->tm_mon], 3);
+		memcpy(buffer + 4, __ab_month_name(ptm->tm_mon), 3);
 	}
 
 	tm_field[0] = ptm->tm_mday;