Browse Source

move strftime_l into strftime.c and add __-prefixed version

the latter is both for ABI purposes, and to facilitate eventually
adding LC_TIME support. it's also nice to eliminate an extra source
file.
Rich Felker 11 years ago
parent
commit
0a37d99547
2 changed files with 10 additions and 8 deletions
  1. 0 7
      src/locale/strftime_l.c
  2. 10 1
      src/time/strftime.c

+ 0 - 7
src/locale/strftime_l.c

@@ -1,7 +0,0 @@
-#include <locale.h>
-#include <time.h>
-
-size_t strftime_l(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm, locale_t l)
-{
-	return strftime(s, n, f, tm);
-}

+ 10 - 1
src/time/strftime.c

@@ -1,8 +1,10 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <langinfo.h>
+#include <locale.h>
 #include <time.h>
 #include <limits.h>
+#include "libc.h"
 
 // FIXME: integer overflows
 
@@ -42,7 +44,7 @@ static int week_num(const struct tm *tm)
 	return val;
 }
 
-size_t strftime(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm)
+size_t __strftime_l(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm, locale_t loc)
 {
 	nl_item item;
 	int val;
@@ -209,3 +211,10 @@ recu_strftime:
 	s[l] = 0;
 	return l;
 }
+
+size_t strftime(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm)
+{
+	return __strftime_l(s, n, f, tm, LC_GLOBAL_LOCALE);
+}
+
+weak_alias(__strftime_l, strftime_l);