Summary: | Compile error on Solaris 2.9 in date_object.cpp | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Bernd Kuhls <bernd.kuhls> |
Component: | kjs | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Solaris | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | solaris date_object.cpp patch |
Description
Bernd Kuhls
2005-10-13 16:33:08 UTC
Created attachment 12979 [details]
solaris date_object.cpp patch
Same for me using gcc 3.4.3.
This patch should fix the compilation problem, and hopefully formatTime will
still work.
Your patch creates another bug on Solaris 9/Sparc: if /bin/bash ../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../dcop -I../kdecore -I../kio/kssl -I. -I/usr/local2/lude/soft/pcre-4.5/run/default/sparc_sun_solaris2.9/include -I../dcop -I../libltdl -I../kdefx -I../kdecore -I../kdecore -I../kdeui -I../kio -I../kio/kio -I../kio/kfile -I.. -I/usr/local/qt-050201/include -I/usr/local/KDE-3.5b2/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4 -Wno-long-long -Wundef -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -MT date_object.lo -MD -MP -MF ".deps/date_object.Tpo" -c -o date_object.lo date_object.cpp; \ then mv -f ".deps/date_object.Tpo" ".deps/date_object.Plo"; else rm -f ".deps/date_object.Tpo"; exit 1; fi date_object.cpp:71: error: `LONG_MIN' was not declared in this scope date_object.cpp: In member function `virtual KJS::Value KJS::DateProtoFuncImp::call(KJS::ExecState*, KJS::Object&, const KJS::List&) ': date_object.cpp:481: warning: `%c' yields only last 2 digits of year in some locales date_object.cpp:485: warning: `%x' yields only last 2 digits of year in some locales SVN commit 472803 by staikos: fix two solaris compile bugs BUGS: 114340,114759 M +14 -3 date_object.cpp --- branches/KDE/3.5/kdelibs/kjs/date_object.cpp #472802:472803 @@ -54,6 +54,7 @@ #include <locale.h> #include <ctype.h> #include <assert.h> +#include <limits.h> #include "date_object.h" #include "error_object.h" @@ -99,17 +100,27 @@ static UString formatTime(struct tm &tm) { + int tz; char buffer[100]; - if (tm.tm_gmtoff == 0) { +#if defined BSD || defined(__linux__) || defined(__APPLE__) + tz = tm.tm_gmtoff; +#else +# if defined(__BORLANDC__) + tz = - _timezone; +# else + tz = - timezone; +# endif +#endif + if (tz == 0) { snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d GMT", tm.tm_hour, tm.tm_min, tm.tm_sec); } else { - int offset = tm.tm_gmtoff; + int offset = tz; if (offset < 0) { offset = -offset; } snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d GMT%c%02d%02d", tm.tm_hour, tm.tm_min, tm.tm_sec, - tm.tm_gmtoff < 0 ? '-' : '+', offset / (60*60), (offset / 60) % 60); + tz < 0 ? '-' : '+', offset / (60*60), (offset / 60) % 60); } return UString(buffer); } Confirmed fixed, thanks |