From 0df34ec5ddb92ce7e3bcbb4f0eb24e30955ba3a1 Mon Sep 17 00:00:00 2001 From: Fritz Elfert Date: Sun, 11 Aug 2002 01:41:45 +0000 Subject: - Fixed setting of CFLAGS and CXXFLAGS: With --enable-debug, disable -O - Removed ccmalloc support. Now using valgrind - Added missing mainainer-clean-local targets - Fixed uninitialized array in IOwatch, reported by valgrind. - Fixed missing definition of LC_ALL if compiling without -O - Fixed invalid access to datapump thread (not yet created), reported by valgrind. - Fixed wrong parameters of QRegExp when using QT 3.x - Fixed KTar initialization which has changed in KDE 3.x --- conf/configure.in.in | 7 +-- conf/m4/plptools/PLP_CHECK_COMPILERS.m4 | 11 +++- conf/m4/plptools/ccmalloc.m4 | 102 -------------------------------- kde2/doc/Makefile.am | 3 + kde2/doc/de/Makefile.am | 3 + kde2/doc/en/Makefile.am | 3 + kde2/doc/kioslave/Makefile.am | 3 + kde2/doc/kioslave/de/Makefile.am | 3 + kde2/doc/kioslave/en/Makefile.am | 3 + kde2/kpsion/kpsion.cpp | 28 +++++++-- kde2/kpsion/kpsion.h | 7 +++ kde2/kpsion/kpsionbackuplistview.cpp | 6 +- kde2/po/de/Makefile.am | 3 + lib/iowatch.cc | 1 + lib/plpintl.h | 5 ++ ncpd/Makefile.am | 2 +- ncpd/packet.cc | 10 ++-- plpbackup/Makefile.am | 2 +- plpftp/Makefile.am | 2 +- 19 files changed, 80 insertions(+), 124 deletions(-) delete mode 100644 conf/m4/plptools/ccmalloc.m4 diff --git a/conf/configure.in.in b/conf/configure.in.in index 903058a..87d0674 100644 --- a/conf/configure.in.in +++ b/conf/configure.in.in @@ -2,8 +2,8 @@ AC_REVISION($Revision$)dnl revision of this configure.in script AC_INIT(Makefile.am) AC_CONFIG_AUX_DIR(conf) -AC_AIX AC_CANONICAL_SYSTEM +PLP_CHECK_COMPILERS AM_CONFIG_HEADER(include/config.h) AM_INIT_AUTOMAKE(plptools, 0.11) AM_PROG_LIBTOOL @@ -14,7 +14,6 @@ AM_MAINTAINER_MODE dnl checks for programs AC_PROG_MAKE_SET -PLP_CHECK_COMPILERS AC_PROG_AWK AC_PATH_PROG(SED,sed) @@ -52,6 +51,7 @@ if test "`uname -s 2>/dev/null`" = AIX ; then AC_MSG_RESULT(yes) AC_CHECK_LIB(bsd, hostname) EXTRA_OBJS=mount_aix.o + AC_DEFINE(_ALL_SOURCE) else AC_MSG_RESULT(no) fi @@ -167,9 +167,6 @@ AC_CHECK_HEADERS( sys/int_types.h stdint.h ) -PLP_HELP_MSG([Debugging (developer only!):]) -AC_CHECK_CCMALLOC - dnl special options for customization PLP_HELP_MSG([Options for overriding builtin defaults:]) diff --git a/conf/m4/plptools/PLP_CHECK_COMPILERS.m4 b/conf/m4/plptools/PLP_CHECK_COMPILERS.m4 index b665a32..278d5a8 100644 --- a/conf/m4/plptools/PLP_CHECK_COMPILERS.m4 +++ b/conf/m4/plptools/PLP_CHECK_COMPILERS.m4 @@ -39,7 +39,7 @@ AC_DEFUN(PLP_CHECK_COMPILERS, if test "$GCC" = "yes"; then if test "$plp_use_debug_code" = "yes"; then - CFLAGS="-g -O2 $CFLAGS" + CFLAGS="-g $CFLAGS" case $host in *-*-linux-gnu) CFLAGS="-Wpointer-arith $CFLAGS" @@ -80,7 +80,7 @@ AC_DEFUN(PLP_CHECK_COMPILERS, if test "$GXX" = "yes"; then if test "$plp_use_debug_code" = "yes"; then - CXXFLAGS="-g -O2 -Wpointer-arith -Wmissing-prototypes $CXXFLAGS" + CXXFLAGS="-g -Wpointer-arith -Wmissing-prototypes $CXXFLAGS" PLP_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) PLP_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) @@ -156,9 +156,14 @@ AC_DEFUN(PLP_CHECK_COMPILERS, IFS=$plp_safe_IFS fi + if test "$plp_use_debug_code" = "yes"; then + STRIP=true + AC_SUBST(STRIP) + fi + AC_SUBST(NOOPT_CXXFLAGS) THREADED_CFLAGS="-D_REENTRANT $CFLAGS" - THREADED_CXXFLAGS="-D_REENTRANT $CFLAGS" + THREADED_CXXFLAGS="-D_REENTRANT $CXXFLAGS" AC_SUBST(THREADED_CFLAGS) AC_SUBST(THREADED_CXXFLAGS) ]) diff --git a/conf/m4/plptools/ccmalloc.m4 b/conf/m4/plptools/ccmalloc.m4 deleted file mode 100644 index 81b0a3a..0000000 --- a/conf/m4/plptools/ccmalloc.m4 +++ /dev/null @@ -1,102 +0,0 @@ -dnl -dnl Autoconf check for ccmalloc lib -dnl -dnl Adds an option --with-ccmalloc[=DIR] to your configure script -dnl -dnl Checks for libccmalloc and wrappers either in a specified dir or -dnl in the default dirs /usr/lib /lib and /usr/local/lib -dnl -dnl If found, sets two variables: -dnl -dnl LIBCCMALLOC_CC link-commands to use for linking C projects -dnl LIBCCMALLOC_CXX link-commands to use for linking C++ projects -dnl -dnl Example with autoconf: -dnl -dnl In your Makefile.in, put something like this: -dnl -dnl LDFLAGS=$(LIBS) @LIBCCMALLOC_CC@ -dnl -dnl Example with automake: -dnl -dnl In your Makefile.am, put something like this: -dnl -dnl myprog_LDADD = $(LIBCCMALLOC_CC) -dnl -AC_DEFUN(AC_CHECK_CCMALLOC,[ - LIBCCMALLOC_CXX= - LIBCCMALLOC_CC= - AC_ARG_WITH(ccmalloc, - [ --with-ccmalloc[=DIR] link against ccmalloc leak-checking lib], - [ - search_dirs="/usr/lib /lib /usr/local/lib" - case "${withval}" in - yes) - ccm_dirs=${search_dirs} - ;; - no) - ccm_dirs= - ;; - *) - ccm_dirs="${withval} ${search_dirs}" - ;; - esac - AC_MSG_CHECKING(for libccmalloc) - save_LIBS="$LIBS" - AC_LANG_SAVE - AC_LANG_C - ccm_found=NO - for d in ${ccm_dirs} ; do - LIBS="$d/ccmalloc-gcc.o -L$d -lccmalloc -ldl" - AC_TRY_LINK_FUNC(ccmalloc_report,ccm_found=$d ; break) - done - if test "${ccm_found}" = "NO" ; then - AC_MSG_RESULT(not found) - else - libccmalloc="-L$ccm_found -lccmalloc -ldl" - LIBCCMALLOC_CC="$LIBS" - ccm_wrappers=gcc - AC_LANG_CPLUSPLUS - ccm_wrapper="$ccm_found/ccmalloc-g++.o" - LIBS="$ccm_wrapper $libccmalloc" - AC_TRY_LINK( - [ - extern "C" { - void ccmalloc_atexit(void(*)(void)); - }; - void myFoo() {} - ], - [ccmalloc_atexit(myFoo);], - [ccm_wrappers="$ccm_wrappers g++"; LIBCCMALLOC_CXX="$LIBS"] - ) - test "$ccm_wrappers" == "" && ccm_wrappers=none - AC_MSG_RESULT([(wrappers: $ccm_wrappers) found]) - fi - AC_LANG_RESTORE - LIBS="$save_LIBS" - ] - ) - AC_SUBST(LIBCCMALLOC_CC) - AC_SUBST(LIBCCMALLOC_CXX) -]) - -dnl -dnl This function is the same like the above, with the extension, that -dnl it adds the content of LIBCCMALLOC_CC to LIBS globally. You can -dnl use it, if your project uses C sources only. -dnl -AC_DEFUN(AC_AUTO_CCMALLOC_CC,[ - AC_REQUIRE([AC_CHECK_CCMALLOC]) - LIBS="$LIBS $LIBCCMALLOC_CC" -]) - -dnl -dnl This function is the same like the above, with the extension, that -dnl it adds the content of LIBCCMALLOC_CXX to LIBS globally. You can -dnl use it, if your project uses C++ sources only. -dnl -AC_DEFUN(AC_AUTO_CCMALLOC_CXX,[ - AC_REQUIRE([AC_CHECK_CCMALLOC]) - LIBS="$LIBS $LIBCCMALLOC_CXX" -]) - diff --git a/kde2/doc/Makefile.am b/kde2/doc/Makefile.am index 43dfa7e..8d0fd41 100644 --- a/kde2/doc/Makefile.am +++ b/kde2/doc/Makefile.am @@ -1 +1,4 @@ SUBDIRS = en de kioslave + +maintainer-clean-local: + rm -f Makefile.in diff --git a/kde2/doc/de/Makefile.am b/kde2/doc/de/Makefile.am index 96e877a..4ea6f6d 100644 --- a/kde2/doc/de/Makefile.am +++ b/kde2/doc/de/Makefile.am @@ -6,3 +6,6 @@ EXTRA_DIST = index.docbook.in index.docbook: index.docbook.in cat index.docbook.in | perl -e 'while (<>) { if (/\$$Date:\s+(.*)\s+\$$/) { $$d=$$1; } s/__DATE__/$$d/; s/__VERSION__/$(VERSION)/; print; }' > index.docbook + +maintainer-clean-local: + rm -f Makefile.in diff --git a/kde2/doc/en/Makefile.am b/kde2/doc/en/Makefile.am index 232ee79..f43ce69 100644 --- a/kde2/doc/en/Makefile.am +++ b/kde2/doc/en/Makefile.am @@ -6,3 +6,6 @@ EXTRA_DIST = index.docbook.in index.docbook: index.docbook.in cat index.docbook.in | perl -e 'while (<>) { if (/\$$Date:\s+(.*)\s+\$$/) { $$d=$$1; } s/__DATE__/$$d/; s/__VERSION__/$(VERSION)/; print; }' > index.docbook + +maintainer-clean-local: + rm -f Makefile.in diff --git a/kde2/doc/kioslave/Makefile.am b/kde2/doc/kioslave/Makefile.am index ed0ced8..c29d289 100644 --- a/kde2/doc/kioslave/Makefile.am +++ b/kde2/doc/kioslave/Makefile.am @@ -1 +1,4 @@ SUBDIRS = en de + +maintainer-clean-local: + rm -f Makefile.in diff --git a/kde2/doc/kioslave/de/Makefile.am b/kde2/doc/kioslave/de/Makefile.am index fbf8d2f..3906f0b 100644 --- a/kde2/doc/kioslave/de/Makefile.am +++ b/kde2/doc/kioslave/de/Makefile.am @@ -2,3 +2,6 @@ KDE_LANG = de kiodocdir = $(kde_libs_htmldir)/$(KDE_LANG)/kioslave kiodoc_DATA = psion.docbook EXTRA_DIST = $(kiodoc_DATA) + +maintainer-clean-local: + rm -f Makefile.in diff --git a/kde2/doc/kioslave/en/Makefile.am b/kde2/doc/kioslave/en/Makefile.am index 52af9e0..5335df3 100644 --- a/kde2/doc/kioslave/en/Makefile.am +++ b/kde2/doc/kioslave/en/Makefile.am @@ -2,3 +2,6 @@ KDE_LANG = en kiodocdir = $(kde_libs_htmldir)/$(KDE_LANG)/kioslave kiodoc_DATA = psion.docbook EXTRA_DIST = $(kiodoc_DATA) + +maintainer-clean-local: + rm -f Makefile.in diff --git a/kde2/kpsion/kpsion.cpp b/kde2/kpsion/kpsion.cpp index 64bffd8..18e9374 100644 --- a/kde2/kpsion/kpsion.cpp +++ b/kde2/kpsion/kpsion.cpp @@ -28,7 +28,6 @@ #include "kpsionconfig.h" #include "wizards.h" -#include #include #include #include @@ -180,7 +179,11 @@ psion2unix(const char * const path) { QString tmp = path; tmp.replace(QRegExp("%"), "%25"); tmp.replace(QRegExp("/"), "%2f"); +#if QT_VERSION >= 300 + tmp.replace(QRegExp("\\\\"), "/"); +#else tmp.replace(QRegExp("\\"), "/"); +#endif return tmp; } @@ -909,7 +912,11 @@ doBackup() { strftime(tstr, sizeof(tstr), "%Y-%m-%d-%H-%M-%S.tmp.gz", localtime(&now)); archiveName += tstr; +#if KDE_VERSION >= 300 + backupTgz = new KTar(archiveName, "application/x-gzip"); +#else backupTgz = new KTarGz(archiveName); +#endif backupTgz->open(IO_WriteOnly); createIndex(); @@ -924,7 +931,6 @@ doBackup() { for (int i = 0; i < toBackup.size(); i++) { PlpDirent e = toBackup[i]; const char *fn = e.getName(); - QString unixname = psion2unix(fn); QByteArray ba; QDataStream os(ba, IO_WriteOnly); @@ -980,7 +986,8 @@ doBackup() { break; if (res != rfsv::E_PSI_GEN_NONE) continue; - backupTgz->writeFile(unixname, "root", "root", ba.size(), ba.data()); + backupTgz->writeFile(psion2unix(fn), "root", "root", ba.size(), + ba.data()); } if (!badBackup) { @@ -1088,7 +1095,11 @@ removeOldBackups(QStringList &drives) { while ((fi = it.current())) { kapp->processEvents(); +#if KDE_VERSION >= 300 + KTar tgz(fi->absFilePath()); +#else KTarGz tgz(fi->absFilePath()); +#endif const KTarEntry *te; tgz.open(IO_ReadOnly); @@ -1128,7 +1139,11 @@ removeOldBackups(QStringList &drives) { while ((fi = it.current())) { kapp->processEvents(); +#if KDE_VERSION >= 300 + KTar tgz(fi->absFilePath()); +#else KTarGz tgz(fi->absFilePath()); +#endif const KTarEntry *te; bool valid = false; bool del = false; @@ -1308,7 +1323,11 @@ slotStartRestore() { for (t = tars.begin(); t != tars.end(); t++) { PlpDir toRestore = restoreDialog.getRestoreList(*t); if (toRestore.size() > 0) { +#if KDE_VERSION >= 300 + KTar tgz(*t); +#else KTarGz tgz(*t); +#endif const KTarEntry *te; QString pDir(""); @@ -1318,7 +1337,6 @@ slotStartRestore() { PlpDirent olde; const char *fn = e.getName(); - QString unixname = psion2unix(fn); Enum res; progressLocal = e.getSize(); @@ -1327,7 +1345,7 @@ slotStartRestore() { emit setProgressText(QString("%1").arg(fn)); emit setProgress(0); - te = findTarEntry(tgz.directory(), unixname); + te = findTarEntry(tgz.directory(), psion2unix(fn)); if (te != 0L) { u_int32_t handle; QString cpDir(fn); diff --git a/kde2/kpsion/kpsion.h b/kde2/kpsion/kpsion.h index a3d5f71..00423e5 100644 --- a/kde2/kpsion/kpsion.h +++ b/kde2/kpsion/kpsion.h @@ -23,6 +23,9 @@ #ifndef _KPSION_H_ #define _KPSION_H_ +// get KDE_VERSION +#include + #include "setupdialog.h" #include "statusbarprogress.h" #include "kpsionrestoredialog.h" @@ -112,7 +115,11 @@ private: SetupDialog *setupDialog; KIconView *view; KPsionStatusBarProgress *progress; +#if KDE_VERSION >= 300 + KTar *backupTgz; +#else KTarGz *backupTgz; +#endif KCmdLineArgs *args; driveMap drives; diff --git a/kde2/kpsion/kpsionbackuplistview.cpp b/kde2/kpsion/kpsionbackuplistview.cpp index f8b5f77..4897753 100644 --- a/kde2/kpsion/kpsionbackuplistview.cpp +++ b/kde2/kpsion/kpsionbackuplistview.cpp @@ -25,8 +25,8 @@ #include #endif -#include "kpsionbackuplistview.h" #include "kpsion.h" +#include "kpsionbackuplistview.h" #include "kpsionconfig.h" #include @@ -283,7 +283,11 @@ readBackups(QString uid) { kapp->processEvents(); bool isValid = false; +#if KDE_VERSION >= 300 + KTar tgz(fi->absFilePath()); +#else KTarGz tgz(fi->absFilePath()); +#endif const KTarEntry *te; QString bTypeName; int bType; diff --git a/kde2/po/de/Makefile.am b/kde2/po/de/Makefile.am index 62d74e6..8517d98 100644 --- a/kde2/po/de/Makefile.am +++ b/kde2/po/de/Makefile.am @@ -1,3 +1,6 @@ KDE_LANG = de POFILES = AUTO + +maintainer-clean-local: + rm -f Makefile.in diff --git a/lib/iowatch.cc b/lib/iowatch.cc index 7335d4a..5a975f7 100644 --- a/lib/iowatch.cc +++ b/lib/iowatch.cc @@ -33,6 +33,7 @@ IOWatch::IOWatch() { num = 0; io = new int [FD_SETSIZE]; + memset(io, -1, FD_SETSIZE); } IOWatch::~IOWatch() { diff --git a/lib/plpintl.h b/lib/plpintl.h index e28fde0..7eb4da9 100644 --- a/lib/plpintl.h +++ b/lib/plpintl.h @@ -39,6 +39,11 @@ extern inline char * stpcpy(char *dest, const char *src) { } #endif +/* libintl.h includes locale.h only if optimized. + * however, we need LC_ALL ... + */ +#include + #if defined(ENABLE_NLS) && defined(HAVE_GETTEXT) # include static inline const char *X_(const char *t) { return gettext(t); } diff --git a/ncpd/Makefile.am b/ncpd/Makefile.am index b06edb3..0338e97 100644 --- a/ncpd/Makefile.am +++ b/ncpd/Makefile.am @@ -6,7 +6,7 @@ CXXFLAGS = $(THREADED_CXXFLAGS) sbin_PROGRAMS = ncpd -ncpd_LDADD = $(top_srcdir)/lib/libplp.la -lpthread $(LIBCCMALLOC_CXX) +ncpd_LDADD = $(top_srcdir)/lib/libplp.la -lpthread ncpd_SOURCES = channel.cc link.cc linkchan.cc main.cc \ ncp.cc packet.cc socketchan.cc mp_serial.c EXTRA_DIST = channel.h link.h linkchan.h main.h mp_serial.h ncp.h packet.h \ diff --git a/ncpd/packet.cc b/ncpd/packet.cc index 31eafd0..d352fc9 100644 --- a/ncpd/packet.cc +++ b/ncpd/packet.cc @@ -222,8 +222,10 @@ reset() } outRead = outWrite = 0; internalReset(); - if (fd != -1) + if (fd != -1) { pthread_create(&datapump, NULL, pump_run, this); + realWrite(); + } } void packet:: @@ -254,10 +256,8 @@ internalReset() if (verbose & PKT_DEBUG_LOG) lout << "serial connection set to " << dec << realBaud << " baud, fd=" << fd << endl; - if (fd != -1) { + if (fd != -1) lastFatal = false; - realWrite(); - } } short int packet:: @@ -465,7 +465,7 @@ findSync() int rx_amount = (inw > inRead) ? inw - inRead : BUFLEN - inRead + inw; if (rx_amount > 15) - internalReset(); + reset(); } } } diff --git a/plpbackup/Makefile.am b/plpbackup/Makefile.am index c868bd5..a1a859b 100644 --- a/plpbackup/Makefile.am +++ b/plpbackup/Makefile.am @@ -3,7 +3,7 @@ INCLUDES=-I$(top_srcdir)/lib bin_PROGRAMS = plpbackup -plpbackup_LDADD = $(top_srcdir)/lib/libplp.la $(LIBCCMALLOC_CXX) +plpbackup_LDADD = $(top_srcdir)/lib/libplp.la plpbackup_SOURCES = plpbackup.cc maintainer-clean-local: diff --git a/plpftp/Makefile.am b/plpftp/Makefile.am index 60b2f5a..8c5addc 100644 --- a/plpftp/Makefile.am +++ b/plpftp/Makefile.am @@ -3,7 +3,7 @@ INCLUDES = -I$(top_srcdir)/lib -I$(top_srcdir)/intl bin_PROGRAMS = plpftp -plpftp_LDADD = $(top_srcdir)/lib/libplp.la $(LIBREADLINE) $(LIBHISTORY) $(LIBCCMALLOC_CXX) $(INTLLIBS) +plpftp_LDADD = $(top_srcdir)/lib/libplp.la $(LIBREADLINE) $(LIBHISTORY) $(INTLLIBS) plpftp_SOURCES = ftp.cc main.cc rlcrap.c EXTRA_DIST = ftp.h rlcrap.h -- cgit v1.2.3