summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* main: Print spaces not tabs in options helpP. J. McDermott2023-10-121-6/+6
|
* main: Don't translate "@ (atsign) %s%s\n"P. J. McDermott2023-10-061-1/+1
|
* main: Set text domain and localeP. J. McDermott2023-10-061-1/+15
|
* datetime, main: Translate stringsP. J. McDermott2023-10-062-23/+25
|
* main: Combine help and license puts() callsP. J. McDermott2023-10-061-13/+13
|
* build: gettextizeP. J. McDermott2023-10-062-0/+12
|
* build: Rename binary to "atsign"P. J. McDermott2023-10-051-1/+1
| | | | | | Fixes: gcc: error: @-file refers to a directory
* datetime: Drop newly unused use of timegm()P. J. McDermott2022-03-292-25/+0
| | | | It's non-standard.
* main: If debugging, print formatted timeP. J. McDermott2022-03-291-3/+7
| | | | Not seconds since Epoch.
* datetime: Get target (struct tm *) from callerP. J. McDermott2022-03-293-20/+22
|
* datetime: Use difftime() in normalizationP. J. McDermott2022-03-281-2/+2
|
* datetime: Don't use mktime()/localtime() shortcutsP. J. McDermott2022-03-281-16/+30
|
* datetime: Change sanity checksP. J. McDermott2022-03-231-4/+4
| | | | | | Check if the year is earlier than 1900 instead of 1970. Step one of eliminating timegm().
* datetime: s/ ;/;/P. J. McDermott2022-03-231-2/+2
|
* datetime: Add glibc timegm() feature test macrosP. J. McDermott2022-03-221-0/+3
|
* Update copyright yearsP. J. McDermott2022-03-223-3/+3
|
* datetime, formats: Conform to strptime() space reqP. J. McDermott2022-03-222-19/+56
|
* datetime: Fix initial formatting buffer sizeP. J. McDermott2022-03-221-1/+1
|
* datetime: Don't forget to copy NUL chars to bufferP. J. McDermott2022-03-221-6/+6
|
* datetime: Copy time-only & misc formats to bufferP. J. McDermott2022-03-221-3/+12
|
* formats: Reformat commentP. J. McDermott2022-03-221-2/+7
|
* formats: Remove extra space in some misc formatsP. J. McDermott2022-03-221-4/+4
|
* formats: Add formats with "%a." and "%b."P. J. McDermott2022-03-211-0/+49
|
* formats: Lengthen date format stringsP. J. McDermott2022-03-211-132/+132
|
* datetime: Move formats into another fileP. J. McDermott2022-03-213-194/+217
|
* datetime: Print full weekday and month namesP. J. McDermott2022-03-201-0/+96
|
* datetime: Lengthen commentsP. J. McDermott2022-03-201-46/+46
|
* datetime: Add formats with "."P. J. McDermott2022-03-201-0/+7
|
* main: Replace strtol() calls with sscanf()P. J. McDermott2022-03-201-25/+8
|
* Add --disable-tests to shrink executable sizeP. J. McDermott2022-03-201-5/+21
|
* main: Update copyright years in version outputP. J. McDermott2022-03-191-1/+1
|
* datetime: Sanity check parsing resultsP. J. McDermott2022-03-191-11/+37
| | | | | | | | | | | | | | | | | | | Previously, "0000 1970-01-01" was parsed as 00:00:19 70-01-01. Fixes: not ok 614 - 0000 1970-01-01 FAIL: tests/parse.sh 614 - 0000 1970-01-01 # Failed test '0000 1970-01-01' # got: '-59958143981' # expected: '0' ok 615 - 1970/01/01 0000 PASS: tests/parse.sh 615 - 1970/01/01 0000 not ok 616 - 0000 1970/01/01 FAIL: tests/parse.sh 616 - 0000 1970/01/01 # Failed test '0000 1970/01/01' # got: '-59958143981' # expected: '0'
* datetime: Add function to get seconds since EpochP. J. McDermott2022-03-193-14/+26
| | | | And use it in main().
* datetime: Update new _datetime_normalize() callP. J. McDermott2022-03-191-1/+1
|
* main: Pass NULL to time()P. J. McDermott2022-03-191-2/+2
| | | | | | | | | | | | | | If the argument points outside the accessible address space, Linux's time() system call returns a negative value. [1] But since this is indistinguishable from a successful report that the time is before the Epoch, glibc never actually sets errno. The Linux man-pages project recommends: "The tloc argument is obsolescent and should always be NULL in new code. When tloc is NULL, the call cannot fail." [2] [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/time/time.c [2]: https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man2/time.2?id=300c07ddd873fa1abbff96262ec365271e429dab
* Merge branch 'feature/tests'P. J. McDermott2022-03-193-36/+104
|\
| * main: Populate day of week in "now" timeP. J. McDermott2022-03-191-28/+33
| | | | | | | | Needed for format listing.
| * main: Allow faking current timeP. J. McDermott2022-03-191-17/+59
| | | | | | | | Drop use of faketime in tests.
| * datetime: Get now (struct tm) from callerP. J. McDermott2022-03-183-19/+18
| |
| * datetime: Move & unify time() & localtime() callsP. J. McDermott2022-03-181-6/+3
| |
| * main: Add undocumented debugging optionP. J. McDermott2022-03-171-3/+28
| | | | | | | | | | Prints the number of seconds between the UNIX epoch and the specified time.
* | datetime: Try time-only formats only onceP. J. McDermott2022-03-181-1/+10
|/
* main: Make (struct option) variable static constP. J. McDermott2022-03-171-1/+1
|
* main: Use difftime() instead of comparing time_tP. J. McDermott2022-03-161-4/+4
| | | | | | | | | | C99 ยง 7.23.1 defines time_t as an "arithmetic [type] capable of representing times" with "implementation-defined" "range and precision of times representable". It doesn't require that time1 > time0 for time1 later than time0. See also: http://computer-programming-forum.com/47-c-language/8d7dec65bd1ddafe.htm
* main: Skip empty formatsP. J. McDermott2021-09-011-0/+9
| | | | | | This was previously done in _datetime_strftime() but in a way that would overflow the array if an empty format was at the end. Moving this logic into the caller is safer and makes a little more sense.
* datetime: Collapse spaces after strftime()P. J. McDermott2021-09-012-24/+33
| | | | Turns "Sep 1" into "Sep 1".
* datetime: Free fmt bufs when iterators reach endP. J. McDermott2021-08-312-33/+22
| | | | Simplifies caller code.
* datetime: Replace %d with %e in some formatsP. J. McDermott2021-08-311-12/+12
|
* Add option to list supported formatsP. J. McDermott2021-08-313-12/+202
|
* datetime: Find ends of arrays with sizeof()P. J. McDermott2021-08-311-10/+12
| | | | | | | | | | | | Before: $ wc -c @ 61256 @ After: $ wc -c @ 60616 @