[Bug c++/54180] New: a bug using strcat function - it depends on variable declare order, but it should not.
lirex.software at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Aug 5 15:03:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54180
Bug #: 54180
Summary: a bug using strcat function - it depends on variable
declare order, but it should not.
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: lirex.software@gmail.com
Created attachment 27940
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27940
source file
Hello,
I want to report bugs:
I using gcc gcc-4.6.1 on Microsoft Windows XP (service pack 3)
the options of the compiler:
c++ -I"D:\Program Files\PostgreSQL\9.1\include" -L"D:\Program
Files\PostgreSQL\9.1\lib" -lpq -o %application_file% %application_file%.cpp
-Wl,--subsystem,windows -lgdi32 -lcomctl32 -D_WIN32_IE=0x0300
the complete command line that triggers the bug:
just a part of my code which handles a window key pressure
the compiler output (error messages, warnings, etc.); and:
it outputs not the value which is expected, but partially(!) the value of other
variable:
if it should display a date with SQL_date_begin it displays a part of SQL1
(I replaced almost everywhere the parrword needed to access my Postgre SQL
database)
the function strcat works only proper
if I declare char variables as follow:
CHAR SQL_date_begin[10], SQL_date_end[10],SQL1[150], SQL_result[100];
but no way if:
CHAR SQL1[150], SQL_date_begin[10], SQL_date_end[10], SQL_result[100];
somewhy in second order it owerwrites value of SQL_date_begin
note:
to form the value of SQL_date_begin I use
strcpy(SQL_date_begin,"");
wsprintf(chBuffer,_T("%d"),date_time_begin.wYear);
strcat(SQL_date_begin,chBuffer);
strcat(SQL_date_begin,"-");
...(only a part)
Regards,
Denis Kolesnik.
More information about the Gcc-bugs
mailing list