Index: kdeutils/config.h.bot
diff -u kdeutils/config.h.bot:1.6 kdeutils/config.h.bot:1.6.6.1
--- kdeutils/config.h.bot:1.6   Fri Oct 13 22:27:32 2000
+++ kdeutils/config.h.bot       Thu Jan 17 12:04:58 2002
@@ -24,3 +24,20 @@
#if defined(_AIX)
#include <strings.h>
#endif
+
+#ifndef HAVE_SETENV
+#define HAVE_SETENV
+#ifdef __cplusplus
+extern "C"
+#endif
+int setenv(const char *name, const char *value, int overwrite);
+#endif
+
+#ifndef HAVE_UNSETENV
+#define HAVE_UNSETENV
+#ifdef __cplusplus
+extern "C"
+#endif
+int unsetenv(const char *name);
+#endif
+
Index: kdeutils/ark/arch.cpp
diff -u kdeutils/ark/arch.cpp:1.35 kdeutils/ark/arch.cpp:1.35.2.1
--- kdeutils/ark/arch.cpp:1.35  Tue Jul 17 20:46:06 2001
+++ kdeutils/ark/arch.cpp       Fri Dec 13 11:48:11 2002
@@ -488,7 +488,7 @@
    {
      strcpy(fourDigits, "20");
    }
-  strcat(fourDigits, strYear);
+  strncat(fourDigits, strYear, sizeof(fourDigits)-strlen(fourDigits)-1);
  return fourDigits;
}

Index: kdeutils/ark/compressedfile.cc
diff -u kdeutils/ark/compressedfile.cc:1.17 kdeutils/ark/compressedfile.cc:1.17.2.2
--- kdeutils/ark/compressedfile.cc:1.17 Tue Jul 17 20:46:06 2001
+++ kdeutils/ark/compressedfile.cc      Fri Dec  6 17:32:17 2002
@@ -28,6 +28,9 @@
// C includes
#include <unistd.h>
#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>

// Qt includes
#include <qdir.h>
@@ -129,7 +132,7 @@
  // (that code is in the slot slotOpenDone)

  QString command;
-  command = "cp '" + m_filename + "' " + m_tmpdir;
+  command = "cp " + KShellProcess::quote(m_filename) + " " + KShellProcess::quote(m_tmpdir);
  system(QFile::encodeName(command));

  m_tmpfile = m_filename.right(m_filename.length()
@@ -192,15 +195,14 @@
      kdDebug(1601) << "Temp file is " << m_tmpfile << endl;
      chdir(QFile::encodeName(m_tmpdir));
      QString command = "ls -l " +
-       m_tmpfile.right(m_tmpfile.length() - 1 - m_tmpfile.findRev("/"));
-
+        KShellProcess::quote(m_tmpfile.right(m_tmpfile.length() - 1 - m_tmpfile.findRev("/")));
      char line[4096];
      char columns[7][80];
      char filename[4096];

      FILE *readHandle = popen(QFile::encodeName(command), "r");
-      fscanf(readHandle, "%[-A-Za-z:0-9_+-. ]", line);
-      sscanf(line, "%[-drwxst] %[0-9] %[0-9.a-zA-Z_] %[0-9.a-zA-Z_] %[0-9] %12[A-Za-z0-9: ]%1[ ]%[^\n]", columns[0], columns[5],
+      fscanf(readHandle, "%4095[-A-Za-z:0-9_+-. ]", line);
+      sscanf(line, "%79[-drwxst] %79[0-9] %79[0-9.a-zA-Z_] %79[0-9.a-zA-Z_] %79[0-9] %12[A-Za-z0-9: ]%1[ ]%79[^\n]", columns[0], columns[5],
            columns[1], columns[2], columns[3],
            columns[4], columns[6], filename);

@@ -247,7 +249,7 @@
    file = file.right(file.length() - 5);

  QString command;
-  command = "cp '" + file + "' " + m_tmpdir;
+  command = "cp " + KShellProcess::quote(file) + " " + KShellProcess::quote(m_tmpdir);
  system(QFile::encodeName(command));

  m_tmpfile = file.right(file.length()
@@ -311,8 +313,7 @@
       dest = m_settings->getExtractDir();
      else
       dest=_destDir;
-      QString command;
-      command = QString::fromLocal8Bit("cp %1 %2").arg(m_tmpfile).arg(dest);
+      QString command = "cp " + KShellProcess::quote(m_tmpfile) + " " + KShellProcess::quote(dest);
      system(QFile::encodeName(command));
    }
  emit sigExtract(true);
@@ -326,8 +327,8 @@
  // delete the compressed file but then create it empty in case someone
  // does a reload and finds it no longer exists!
  unlink(QFile::encodeName(m_filename));
-  QString command = "touch '" + m_filename + "'";
-  system(QFile::encodeName(command));
+
+  ::close(::open(QFile::encodeName(m_filename), O_WRONLY | O_CREAT | O_EXCL));

  m_tmpfile = "";
  emit sigDelete(true);
Index: kdeutils/ark/lha.cc
diff -u kdeutils/ark/lha.cc:1.25 kdeutils/ark/lha.cc:1.25.2.2
--- kdeutils/ark/lha.cc:1.25    Wed May 30 15:16:24 2001
+++ kdeutils/ark/lha.cc Fri Dec 13 11:48:11 2002
@@ -74,7 +74,7 @@

  if (QString(_line).contains("[generic]") )
    {
-      sscanf(_line, " %[]\[generic] %[0-9] %[0-9] %[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%[^\n]",
+      sscanf(_line, " %79[]\\[generic] %79[0-9] %79[0-9] %79[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%4095[^\n]",
            columns[0], columns[2], columns[3], columns[4], columns[5],
            columns[6], columns[10], columns[7], columns[11], columns[8],
            columns[9], filename );
@@ -83,7 +83,7 @@
  else
  if (QString(_line).contains("[MS-DOS]") )
    {
-      sscanf(_line, " %[]\[MS-DOS] %[0-9] %[0-9] %[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%[^\n]",
+      sscanf(_line, " %79[]\\[MS-DOS] %79[0-9] %79[0-9] %79[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%4095[^\n]",
            columns[0], columns[2], columns[3], columns[4], columns[5],
            columns[6], columns[10], columns[7], columns[11], columns[8],
            columns[9], filename );
@@ -91,7 +91,7 @@
    }
  else
    {
-      sscanf(_line, " %[-drlwxst] %[0-9/] %[0-9] %[0-9] %[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%[^\n]",
+      sscanf(_line, " %79[-drlwxst] %79[0-9/] %79[0-9] %79[0-9] %79[0-9.%*] %10[-a-z0-9 ] %3[A-Za-z]%1[ ]%2[0-9 ]%1[ ]%5[ 0-9:]%1[ ]%4095[^\n]",
            columns[0], columns[1], columns[2], columns[3],
            columns[4], columns[5], columns[6], columns[10], columns[7],
            columns[11], columns[8], columns[9], filename);
@@ -102,7 +102,8 @@
  // make the time stamp sortable
  QString massagedTimeStamp = Utils::getTimeStamp(columns[6], columns[7],
                                                 columns[8]);
-  strcpy(columns[6], massagedTimeStamp.ascii());
+  strncpy(columns[6], massagedTimeStamp.ascii(), sizeof(columns[6]));
+  columns[6][sizeof(columns[6])-1] = '\0';

  kdDebug(1601) << "New timestamp is " << columns[6] << endl;

Index: kdeutils/ark/rar.cc
diff -u kdeutils/ark/rar.cc:1.17 kdeutils/ark/rar.cc:1.17.2.2
--- kdeutils/ark/rar.cc:1.17    Fri Feb 23 19:46:10 2001
+++ kdeutils/ark/rar.cc Fri Dec 13 11:48:11 2002
@@ -85,8 +85,8 @@

  char columns[11][80];
  char filename[4096];
-  sscanf(QFile::encodeName(m_line1), " %[^\n]", filename);
-  sscanf((const char *)m_line2.ascii(), " %[0-9] %[0-9] %[0-9%] %2[0-9]-%2[0-9]-%2[0-9] %5[0-9:] %[drwxlst-] %[A-F0-9] %[A-Za-z0-9] %[0-9.]",
+  sscanf(QFile::encodeName(m_line1), " %4095[^\n]", filename);
+  sscanf((const char *)m_line2.ascii(), " %79[0-9] %79[0-9] %79[0-9%] %2[0-9]-%2[0-9]-%2[0-9] %5[0-9:] %79[drwxlst-] %79[A-F0-9] %79[A-Za-z0-9] %79[0-9.]",
        columns[0], columns[1], columns[2], columns[3],
        columns[8], columns[9], columns[10],
        columns[4], columns[5], columns[6],
@@ -107,7 +107,8 @@

  kdDebug(1601) << "Year is: " << year << "; Month is: " << columns[8] << "; Day is: " << columns[3] << "; Time is: " << columns[10] << endl;

-  strcpy(columns[3], timestamp.ascii());
+  strncpy(columns[3], timestamp.ascii(), sizeof(columns[3]));
+  columns[3][sizeof(columns[3])-1] = '\0';

  kdDebug(1601) << "The actual file is " << filename << endl;

Index: kdeutils/ark/tar.cc
diff -u kdeutils/ark/tar.cc:1.52 kdeutils/ark/tar.cc:1.52.2.1
--- kdeutils/ark/tar.cc:1.52    Sat Jun 23 13:50:33 2001
+++ kdeutils/ark/tar.cc Tue Mar  5 09:28:03 2002
@@ -118,6 +118,7 @@
                                           QString::fromLocal8Bit(".tar"));

      tmpfile = pTempFile->name();
+      delete pTempFile;
      kdDebug(1601) << "Tmpfile will be " << tmpfile << "\n" << endl;
    }
  kdDebug(1601) << "-TarArch::TarArch" << endl;
Index: kdeutils/ark/zoo.cc
diff -u kdeutils/ark/zoo.cc:1.13 kdeutils/ark/zoo.cc:1.13.2.2
--- kdeutils/ark/zoo.cc:1.13    Fri Feb 23 19:46:10 2001
+++ kdeutils/ark/zoo.cc Fri Dec 13 11:48:11 2002
@@ -71,7 +71,7 @@

  // Note: I'm reversing the ratio and the length for better display

-  sscanf(_line, " %[0-9] %[0-9%] %[0-9] %[0-9] %[a-zA-Z] %[0-9]%[ ]%11[ 0-9:+-]%2[C ]%[^\n]",
+  sscanf(_line, " %79[0-9] %79[0-9%] %79[0-9] %79[0-9] %79[a-zA-Z] %79[0-9]%79[ ]%11[ 0-9:+-]%2[C ]%4095[^\n]",
        columns[1], columns[0], columns[2], columns[3], columns[7],
        columns[8], columns[9], columns[4], columns[10], filename);

@@ -86,11 +86,12 @@
  strDate.sprintf("%s-%.2d-%.2d", year.utf8().data(),
                   Utils::getMonth(columns[7]), atoi(columns[3]));

-  strcpy(columns[3], strDate.ascii());
+  strncpy(columns[3], strDate.ascii(), sizeof(columns[3]));
+  columns[3][sizeof(columns[3])] = '\0';
  kdDebug(1601) << "New timestamp is " << columns[3] << endl;

-  strcat(columns[3], " ");
-  strcat(columns[3], fixTime(columns[4]).ascii());
+  strncat(columns[3], " ", sizeof(columns[3])-strlen(columns[3])-1);
+  strncat(columns[3], fixTime(columns[4]).ascii(),sizeof(columns[3])-strlen(columns[3])-1);

  QStringList list;
  list.append(QString::fromLocal8Bit(filename));
Index: kdeutils/kdf/disklist.cpp
diff -u kdeutils/kdf/disklist.cpp:1.16 kdeutils/kdf/disklist.cpp:1.16.4.3
--- kdeutils/kdf/disklist.cpp:1.16      Tue Dec 26 17:47:54 2000
+++ kdeutils/kdf/disklist.cpp   Sun Feb  3 18:02:12 2002
@@ -23,7 +23,10 @@
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

+#include <config.h>
+
#include <math.h>
+#include <stdlib.h>

#include <qstring.h>
#include <qfile.h>
@@ -238,6 +241,10 @@
int DiskList::readDF()
{
  if (readingDFStdErrOut || dfProc->isRunning()) return -1;
+  setenv("LANG", "C", 1);
+  setenv("LANGUAGE", "C", 1);
+  setenv("LC_TYPE", "C", 1);
+  setenv("LC_ALL", "C", 1);
  dfStringErrOut=""; // yet no data received
  dfProc->clearArguments();
  (*dfProc) << DF_COMMAND << DF_ARGS;
Index: kdeutils/kfloppy/floppy.cpp
diff -u kdeutils/kfloppy/floppy.cpp:1.31 kdeutils/kfloppy/floppy.cpp:1.31.4.1
--- kdeutils/kfloppy/floppy.cpp:1.31    Thu Jan 18 12:50:53 2001
+++ kdeutils/kfloppy/floppy.cpp Mon Feb  4 08:38:24 2002
@@ -621,8 +621,8 @@
      pos++;
    }

-  printf("ERR: <%s>\n", mybuffer);
-  printf("pos=%d, len=%d\n", pos, amount);
+  //printf("ERR: <%s>\n", mybuffer);
+  //printf("pos=%d, len=%d\n", pos, amount);

  abort = true;
  fserrstring += mybuffer+pos;
Index: kdeutils/klaptopdaemon/portable.cpp
diff -u kdeutils/klaptopdaemon/portable.cpp:1.13 kdeutils/klaptopdaemon/portable.cpp:1.13.2.1
--- kdeutils/klaptopdaemon/portable.cpp:1.13    Wed May 16 04:16:35 2001
+++ kdeutils/klaptopdaemon/portable.cpp Fri Dec  6 16:13:59 2002
@@ -73,7 +73,7 @@
       f = fopen("/proc/apm", "r");
       if (f == NULL)
               return(1);
-       s = fscanf(f, "%s %d.%d %x %x %x %x %d%% %d %s\n",
+       s = fscanf(f, "%255s %d.%d %x %x %x %x %d%% %d %s\n",
               version,
               &tmp,
               &tmp,