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,
