summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3p/asctime.3p
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/archlinux/man3p/asctime.3p')
-rw-r--r--upstream/archlinux/man3p/asctime.3p199
1 files changed, 199 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/asctime.3p b/upstream/archlinux/man3p/asctime.3p
new file mode 100644
index 00000000..5e930122
--- /dev/null
+++ b/upstream/archlinux/man3p/asctime.3p
@@ -0,0 +1,199 @@
+'\" et
+.TH ASCTIME "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+asctime,
+asctime_r
+\(em convert date and time to a string
+.SH SYNOPSIS
+.LP
+.nf
+#include <time.h>
+.P
+char *asctime(const struct tm *\fItimeptr\fP);
+char *asctime_r(const struct tm *restrict \fItm\fP, char *restrict \fIbuf\fP);
+.fi
+.SH DESCRIPTION
+For
+\fIasctime\fR():
+The functionality described on this reference page is aligned with the
+ISO\ C standard. Any conflict between the requirements described here and the
+ISO\ C standard is unintentional. This volume of POSIX.1\(hy2017 defers to the ISO\ C standard.
+.P
+The
+\fIasctime\fR()
+function shall convert the broken-down time in the structure pointed
+to by
+.IR timeptr
+into a string in the form:
+.sp
+.RS 4
+.nf
+
+Sun Sep 16 01:03:52 1973\en\e0
+.fi
+.P
+.RE
+.P
+using the equivalent of the following algorithm:
+.sp
+.RS 4
+.nf
+
+char *asctime(const struct tm *timeptr)
+{
+ static char wday_name[7][3] = {
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ };
+ static char mon_name[12][3] = {
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
+ };
+ static char result[26];
+.P
+ sprintf(result, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\en",
+ wday_name[timeptr->tm_wday],
+ mon_name[timeptr->tm_mon],
+ timeptr->tm_mday, timeptr->tm_hour,
+ timeptr->tm_min, timeptr->tm_sec,
+ 1900 + timeptr->tm_year);
+ return result;
+}
+.fi
+.P
+.RE
+.P
+However, the behavior is undefined if \fItimeptr\fR\->\fItm_wday\fR or
+\fItimeptr\fR\->\fItm_mon\fR are not within the normal ranges as
+defined in
+.IR <time.h> ,
+or if \fItimeptr\fR\->\fItm_year\fR exceeds
+{INT_MAX}\-1990,
+or if the above algorithm would attempt to generate more than 26 bytes
+of output (including the terminating null).
+.P
+The
+.BR tm
+structure is defined in the
+.IR <time.h>
+header.
+.P
+The
+\fIasctime\fR(),
+\fIctime\fR(),
+\fIgmtime\fR(),
+and
+\fIlocaltime\fR()
+functions shall return values in one of two static objects: a
+broken-down time structure and an array of type
+.BR char .
+Execution of any of the functions may overwrite the information
+returned in either of these objects by any of the other functions.
+.P
+The
+\fIasctime\fR()
+function need not be thread-safe.
+.P
+The
+\fIasctime_r\fR()
+function shall convert the broken-down time in the structure pointed to
+by
+.IR tm
+into a string (of the same form as that returned by
+\fIasctime\fR(),
+and with the same undefined behavior when input or output is out of
+range) that is placed in the user-supplied buffer pointed to by
+.IR buf
+(which shall contain at least 26 bytes) and then return
+.IR buf .
+.SH "RETURN VALUE"
+Upon successful completion,
+\fIasctime\fR()
+shall return a pointer to the string.
+If the function is unsuccessful, it shall return NULL.
+.P
+Upon successful completion,
+\fIasctime_r\fR()
+shall return a pointer to a character string containing the date and
+time. This string is pointed to by the argument
+.IR buf .
+If the function is unsuccessful, it shall return NULL.
+.SH ERRORS
+No errors are defined.
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+None.
+.SH "APPLICATION USAGE"
+These functions are included only for compatibility with older
+implementations. They have undefined behavior if the resulting string
+would be too long, so the use of these functions should be
+discouraged. On implementations that do not detect output string
+length overflow, it is possible to overflow the output buffers in such
+a way as to cause applications to fail, or possible system security
+violations. Also, these functions do not support localized date and
+time formats. To avoid these problems, applications should use
+\fIstrftime\fR()
+to generate strings from broken-down times.
+.P
+Values for the broken-down time structure can be obtained by calling
+\fIgmtime\fR()
+or
+\fIlocaltime\fR().
+.P
+The
+\fIasctime_r\fR()
+function is thread-safe and shall return values in a user-supplied
+buffer instead of possibly using a static data area that may be
+overwritten by each call.
+.SH RATIONALE
+The standard developers decided to mark the
+\fIasctime\fR()
+and
+\fIasctime_r\fR()
+functions obsolescent even though
+\fIasctime\fR()
+is in the ISO\ C standard due to the possibility of buffer overflow. The ISO\ C standard
+also provides the
+\fIstrftime\fR()
+function which can be used to avoid these problems.
+.SH "FUTURE DIRECTIONS"
+These functions may be removed in a future version.
+.SH "SEE ALSO"
+.IR "\fIclock\fR\^(\|)",
+.IR "\fIctime\fR\^(\|)",
+.IR "\fIdifftime\fR\^(\|)",
+.IR "\fIgmtime\fR\^(\|)",
+.IR "\fIlocaltime\fR\^(\|)",
+.IR "\fImktime\fR\^(\|)",
+.IR "\fIstrftime\fR\^(\|)",
+.IR "\fIstrptime\fR\^(\|)",
+.IR "\fItime\fR\^(\|)",
+.IR "\fIutime\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<time.h>\fP"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+In the event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .