Index: uspace/lib/c/generic/time.c
===================================================================
--- uspace/lib/c/generic/time.c	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
+++ uspace/lib/c/generic/time.c	(revision 8219eb99dd0f26b10bbbfd30017d3f5c5954ae03)
@@ -48,4 +48,6 @@
 #include <stdio.h>
 #include <ctype.h>
+
+#define ASCTIME_BUF_LEN 26
 
 /** Pointer to kernel shared variables with time */
@@ -799,4 +801,36 @@
 }
 
+/**
+ * Converts broken-down time to a string in format
+ * "Sun Jan 1 00:00:00 1970\n". (Obsolete)
+ *
+ * @param timeptr Broken-down time structure.
+ * @return Pointer to a statically allocated string.
+ */
+char *asctime(const struct tm *timeptr)
+{
+	static char buf[ASCTIME_BUF_LEN];
+
+	assert(timeptr != NULL);
+
+	static const char *wday[] = {
+		"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+	};
+	static const char *mon[] = {
+		"Jan", "Feb", "Mar", "Apr", "May", "Jun",
+		"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
+	};
+
+	snprintf(buf, ASCTIME_BUF_LEN, "%s %s %2d %02d:%02d:%02d %d\n",
+	    wday[timeptr->tm_wday],
+	    mon[timeptr->tm_mon],
+	    timeptr->tm_mday, timeptr->tm_hour,
+	    timeptr->tm_min, timeptr->tm_sec,
+	    1900 + timeptr->tm_year);
+
+	return buf;
+
+}
+
 
 /** @}
Index: uspace/lib/c/include/sys/time.h
===================================================================
--- uspace/lib/c/include/sys/time.h	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
+++ uspace/lib/c/include/sys/time.h	(revision 8219eb99dd0f26b10bbbfd30017d3f5c5954ae03)
@@ -41,4 +41,5 @@
 
 #define DST_NONE 0
+#define ASCTIME_BUF_LEN 26
 
 typedef long time_t;
@@ -80,4 +81,5 @@
 extern time_t mktime(struct tm *tm);
 extern struct tm *gmtime(const time_t *timer);
+extern char *asctime(const struct tm *timeptr);
 extern size_t strftime(char *restrict s, size_t maxsize,
     const char *restrict format, const struct tm *restrict tm);
Index: uspace/lib/posix/time.c
===================================================================
--- uspace/lib/posix/time.c	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
+++ uspace/lib/posix/time.c	(revision 8219eb99dd0f26b10bbbfd30017d3f5c5954ae03)
@@ -383,17 +383,4 @@
  *
  * @param timeptr Broken-down time structure.
- * @return Pointer to a statically allocated string.
- */
-char *posix_asctime(const struct tm *timeptr)
-{
-	static char buf[ASCTIME_BUF_LEN];
-	return posix_asctime_r(timeptr, buf);
-}
-
-/**
- * Converts broken-down time to a string in format
- * "Sun Jan 1 00:00:00 1970\n". (Obsolete)
- *
- * @param timeptr Broken-down time structure.
  * @param buf Buffer to store string to, must be at least ASCTIME_BUF_LEN
  *     bytes long.
@@ -436,5 +423,5 @@
 		return NULL;
 	}
-	return posix_asctime(loctime);
+	return asctime(loctime);
 }
 
Index: uspace/lib/posix/time.h
===================================================================
--- uspace/lib/posix/time.h	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
+++ uspace/lib/posix/time.h	(revision 8219eb99dd0f26b10bbbfd30017d3f5c5954ae03)
@@ -63,7 +63,4 @@
 #endif
 
-#undef ASCTIME_BUF_LEN
-#define ASCTIME_BUF_LEN 26
-
 #undef CLOCK_REALTIME
 #define CLOCK_REALTIME ((posix_clockid_t) 0)
@@ -98,5 +95,4 @@
 
 /* Formatting Calendar Time */
-extern char *posix_asctime(const struct tm *timeptr);
 extern char *posix_asctime_r(const struct tm *restrict timeptr,
     char *restrict buf);
@@ -133,5 +129,4 @@
 	#define localtime_r posix_localtime_r
 
-	#define asctime posix_asctime
 	#define asctime_r posix_asctime_r
 	#define ctime posix_ctime
