On 24.07.2017 15:51, Brian Inglis wrote:
On 2017-07-24 15:02, Hans-Bernhard Bröker wrote:
Am 24.07.2017 um 04:09 schrieb Lavrentiev, Anton (NIH/NLM/NCBI) [C]:
rather it's a question about portability of code that
uses %s for both functions and expects it to work unchanged in the
Cygwin environment.
And the answer to that question is: such code _is_not_portable_, and
therefore
that expectation is wrong.
If that code claims to be portable, then its use of %s in either of
those
functions constitutes a _bug_.
In the old days there was a well-known fallacy known by the slogan
"all the
world's a VAX." Nowadays it appears to have been replaced by an
equally
wide-spread, and equally incorrect belief that all the world is Linux.
Well,
it's not. Not even the whole Un*x world is Linux.
Rather "all the world's a GNU" i.e. glibc, but there's also BSD libc,
RTEMS and
Cygwin newlib, and others.
Since the utilities depend on the C library functionality for strptime
and
strftime, even having GNU utilities won't help.
There doesn't appear any nice way in POSIX shell scripting to have
access to
the seconds since the Epoch.
If you have GNU Awk, it has some time functions like mktime, which don't
rely
on any C library extensions.
$ gawk 'BEGIN { print mktime("2017 07 22 12 31 55") }'
1500751915
$ gawk 'BEGIN { print systime() }'
1500938050
If you can install GNU Awk on a system, chances are you can get some
real
programming language, too, though. GNU Awk may be a little more common
in
that if, for your given OS, a bundle of freeware exists, chances are
good
that GNU Awk is part of its core.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple