This fixes "(portability) scanf without field width limits can crash with
huge input data on some versions of libc" warning from cppcheck.
We choose 10 as the field width limit as it is the number of characters in
2^31-1, the largest int.
Note that this was a fork of the earlier 1998-05-02 version and didn't
contain the later changes. Therefore we merge the best of both versions.
wmtime had some additional unnecessary dummy variables, so we use the wmmon
version.
Previously, if we attempted to build using C99 or later, we got "inline
function declared but never defined" warnings and eventual "undefined
reference" errors. As a result, it fails to build from source using gcc5.
However, if we move the definitions to list.h and add "extern inline"
declarations to list.c, which does compile using C99 and later, then it no
longer compiles using gnu90, the default for gcc4.
To avoid this mess, we remove the inline keywords altogether.
Note that this fixes Debian bugs for wmifs [1], wmppp.app [2], and
wmtime [3].
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778170
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778172
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778174
To simplify maintenace, all references to the current version number outside
of the appropriate macro in in wmtime.c have been removed. Note that this
macro had been WMMON_VERSION, likely a copy/paste error, and has been
renamed to WMTIME_VERSION.
In particular,
- Remove reference to deprecated X11R6 directory.
- Honor PREFIX and INSTALL variables.
- Change definition of CFLAGS from += to =; perhaps users don't want to
append -O2. Also move -Wall to CFLAGS.
- Use C*FLAGS only when compiling and LDFLAGS only when linking.
- Create directories if needed during install.
- Install manpage.
This patch uses the -f option for rm in make clean so that no error occurs when
make clean is run while no object or binary files exist. (It also adds a
newline at the end of the Makefile thanks to emacs.)
Enough patches have been made over the years to the wmtime Debian
package that I have decided to incorporate these changes into
an official upstream release.
Some updates to the documentation have been made to reflect the
changes.
When non-Latin alphabet characters are encountered in weekday and month names, the English defaults are used. This closes Debian bug #726125.
Also, numbers are now printed when encountered in weekday and month names (e.g., Swahili).
The Makefile of wmtime had to be patched in order for CFLAGS
not to be redefined by the Makefile but to use the CFLAGS
passed by debhelper and add additional flags through
string concatenation. LDFLAGS and CPPFLAGS weren't passed
at all and have been added to the linker command line.
Patch by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
from Debian package.
Package: wmtime
Version: 1.0b3-2
Severity: normal
Tags: upstream patch l10n
Hi,
the package wmtime claims that it supports localization. Looking into the code,
it seems more like date customization.
When claiming "localization", it should work as such - respecting LANG, LC_ALL,
etc. environment variables and use locales for the day and month abbreviations.
Please see my patch which adds such support.
Regards,
Milan Cermak
-- System Information:
Debian Release: 6.0.4
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.37.6 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=cs_CZ.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages wmtime depends on:
ii libc6 2.11.3-2 Embedded GNU C Library: Shared lib
ii libx11-6 2:1.3.3-4 X11 client-side library
ii libxext6 2:1.1.2-1 X11 miscellaneous extension librar
ii libxpm4 1:3.5.8-1 X11 pixmap library
wmtime recommends no packages.
wmtime suggests no packages.
-- no debconf information
Package: wmtime
Version: 1.0b2-10
Tags: patch
wmtime draws a small amount of garbage to the screen when -noseconds is
given, because DrawTime reads beyond the given string buffer. This
doesn't trigger all the time for me (I assume due to the nondeterminism
of reading uninitialized memory or something), but it pretty clearly
happens if I switch VTs.
The attached patch limits the amount of the formatted string we try to
read, so we don't read beyond the end of the string. Fixes it for me.
--
Andrew Deason
adeason@dson.org