Package: gcc-4.1 Version: 4.1.1-16 Severity: normal Hello,
one very useful feature of gcc is, that it warns you when you produce unterminated strings by using too long initialisers. Unfortunately the warning only kicks in, if the initialiser is at least two bytes longer than the string buffer. This is illustrated by the following example: [EMAIL PROTECTED] [~] cat t.c #include <stdio.h> char a[]="a"; char string1[2] = ""; char b[]="b"; char string2[2] = "1"; char c[]="c"; char string3[2] = "12"; char d[]="d"; char string4[2] = "123"; char e[]="e"; int main() { puts(string1); puts(string2); puts(string3); puts(string4); return 0; } [EMAIL PROTECTED] [~] gcc -Wall t.c t.c:9: warning: initializer-string for array of chars is too long [EMAIL PROTECTED] [~] ./a.out 1 12d 12e Here 'string3' and 'string4' are unterminated, as can be seen from the program output at the end. But only the initialiser for 'string4' gives a warning. It would be nice if there would also be a warning for the case when the initialiser is just one byte too long (i.e. for 'string3' in my example). I hope this helps, Jochen -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.17.13 Locale: LANG=en_GB.iso885915, LC_CTYPE=en_GB.iso885915 (charmap=ISO-8859-15) Versions of packages gcc-4.1 depends on: ii binutils 2.17-3 The GNU assembler, linker and bina ii cpp-4.1 4.1.1-16 The GNU C preprocessor ii gcc-4.1-base 4.1.1-16 The GNU Compiler Collection (base ii libc6 2.3.6.ds1-6 GNU C Library: Shared libraries ii libgcc1 1:4.1.1-16 GCC support library ii libssp0 4.1.1-16 GCC stack smashing protection libr Versions of packages gcc-4.1 recommends: ii libc6-dev 2.3.6.ds1-6 GNU C Library: Development Librari ii libmudflap0-dev 4.1.1-16 GCC mudflap support libraries (dev -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]