Source: blimps Followup-For: Bug #1114069 X-Debbugs-Cc: [email protected] Control: tags -1 ftbfs
Hi, One more change is needed on 32-bit architectures with 64-bit time_t (armhf): blimps/p2clib.c passes a "long" to time(), localtime() and ctime() in TimeStamp(), VAXdate() and VAXtime(). With 64-bit time_t that's the wrong type (time() writes 8 bytes into a 4-byte variable), and gcc-15 rejects it: p2clib.c:817:10: error: passing argument 1 of 'time' from incompatible pointer type [-Wincompatible-pointer-types] The attached p2clib-time_t.patch switches those variables to time_t. With it and the three changes from my previous message, the whole tree compiles for armhf. (Debian doesn't currently build blimps on armhf since it's non-free, but the bug is real on any 32-bit architecture with 64-bit time_t.) Ubuntu upload: blimps 3.9+ds-4ubuntu2. Thanks, Sebastien Bacher -- System Information: Debian Release: forky/sid APT prefers resolute-updates APT policy: (500, 'resolute-updates'), (500, 'resolute-security'), (500, 'resolute'), (100, 'resolute-backports') Architecture: amd64 (x86_64) Kernel: Linux 7.0.0-38-generic (SMP w/16 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
Description: Use time_t for the time() result in p2clib TimeStamp(), VAXdate() and VAXtime() pass a "long" to time(), localtime() and ctime(). On 32-bit architectures with 64-bit time_t (e.g. armhf) this is the wrong type: time() writes 8 bytes into a 4-byte variable, and gcc-15 rejects it with -Wincompatible-pointer-types. Use time_t. Author: Sebastien Bacher <[email protected]> Forwarded: https://bugs.debian.org/1114069 Last-Update: 2026-10-12 Index: blimps-3.9+ds/blimps/p2clib.c =================================================================== --- blimps-3.9+ds.orig/blimps/p2clib.c +++ blimps-3.9+ds/blimps/p2clib.c @@ -812,7 +812,7 @@ int *Day, *Month, *Year, *Hour, *Min, *S { #ifndef NO_TIME struct tm *tm; - long clock; + time_t clock; time(&clock); tm = localtime(&clock); @@ -830,7 +830,7 @@ int *Day, *Month, *Year, *Hour, *Min, *S Void VAXdate(s) char *s; { - long clock; + time_t clock; char *c; int i; static int where[] = {8, 9, 0, 4, 5, 6, 0, 20, 21, 22, 23}; @@ -846,7 +846,7 @@ char *s; Void VAXtime(s) char *s; { - long clock; + time_t clock; char *c; int i;

