diff -NaHudr dirr-3.25/Makefile dirr-3.26/Makefile
--- dirr-3.25/Makefile	Tue Feb 20 17:15:20 2001
+++ dirr-3.26/Makefile	Tue Apr 17 15:20:12 2001
@@ -1,4 +1,4 @@
-VERSION = 3.25
+VERSION = 3.26
 
 # Obligated defines:
 #   CACHE_GETSET     Recommended, adds speed
@@ -52,4 +52,4 @@
 	rm -f Makefile.cfg config.h *~
 realclean: distclean
 
-include depfun.mak
+include depfun.mak
\ No newline at end of file
diff -NaHudr dirr-3.25/argh.cc dirr-3.26/argh.cc
--- dirr-3.25/argh.cc	Mon Nov 13 16:15:02 2000
+++ dirr-3.26/argh.cc	Thu Mar  1 18:46:33 2001
@@ -210,3 +210,4 @@
         if(needspace || needeol)Gprintf("\n");
     }
 }
+  
\ No newline at end of file
diff -NaHudr dirr-3.25/depfun.mak dirr-3.26/depfun.mak
--- dirr-3.25/depfun.mak	Mon Dec 18 15:33:26 2000
+++ dirr-3.26/depfun.mak	Tue Apr 17 03:15:08 2001
@@ -1,7 +1,7 @@
 # This is Bisqwit's generic depfun.mak, included from Makefile.
 # The same file is used in many different projects.
 #
-# depfun.mak version 1.1.11
+# depfun.mak version 1.1.13
 # 
 # Required vars:
 #
@@ -41,7 +41,9 @@
 	- zip -9rq ${ARCHDIR}${ARCHNAME}.zip ${ARCHNAME}/
 	- rar a ${ARCHDIR}${ARCHNAME}.rar -mm -m5 -r -s -inul ${ARCHNAME}/
 	tar cf ${ARCHDIR}${ARCHNAME}.tar ${ARCHNAME}/
-	rm -rf ${ARCHNAME}
+	#find ${ARCHNAME}/|/ftp/backup/bsort >.paktmp.txt
+	#tar -c --no-recursion -f ${ARCHDIR}${ARCHNAME}.tar -T.paktmp.txt
+	#rm -rf ${ARCHNAME} .paktmp.txt
 	- bzip2 -9 >${ARCHDIR}${ARCHNAME}.tar.bz2 < ${ARCHDIR}${ARCHNAME}.tar
 	gzip -f9 ${ARCHDIR}${ARCHNAME}.tar
 
@@ -51,6 +53,7 @@
 	- cp -lf ${ARCHDIR}${ARCHNAME}.{zip,rar,tar.{bz2,gz}} /WWW/src/
 
 install${DEPFUN_INSTALL}: ${INSTALLPROGS}
+	- mkdir $(BINDIR) 2>/dev/null
 	for s in ${INSTALLPROGS}; do ${INSTALL} -c -s -o bin -g bin -m 755 $$s ${BINDIR}/$$s;done
 	
 deinstall${DEPFUN_INSTALL}: uninstall${DEPFUN_INSTALL}
diff -NaHudr dirr-3.25/dirr.cc dirr-3.26/dirr.cc
--- dirr-3.25/dirr.cc	Thu Oct 12 04:30:55 2000
+++ dirr-3.26/dirr.cc	Tue Apr 17 15:45:47 2001
@@ -689,24 +689,24 @@
 
 static void ScanDir(const char *Dirrikka)
 {
-    char Source[PATH_MAX+1];
-    char DirName[PATH_MAX+1];
+	string Source;
+	string DirName;
     int Tried = 0;
 
     struct stat Stat;
     struct dirent *ent;
     DIR *dir;
-
-    strcpy(DirName, Dirrikka);
+    
+    DirName = Dirrikka;
 
     #ifdef DJGPP
-    if(DirName[strlen(DirName)-1] == ':')
-        strcat(DirName, ".");
+    if(DirName.size() && DirName[DirName.size()-1] == ':')
+    	DirName += '.';
     #endif
+    
+    Source = DirName;
 
-    strcpy(Source, DirName);
-
-R1: if((dir = opendir(Source)) == NULL)
+R1: if((dir = opendir(Source.c_str())) == NULL)
     {
     	/* It was not a directory, or could not be read */
     	
@@ -727,20 +727,21 @@
 			SingleFile(Source, Stat);
 			goto End_ScanDir;
         }
-        else if(!Tried)
+        else if(!Tried && (!Source.size() || Source[Source.size()-1]!='/'))
         {
-        	strcat(Source, "/");
-            Tried=1;
+        	Source += '/';
+            Tried = 1;
             goto R1;
         }
         else if(errno==EACCES)
         {
-            Gprintf(" No access to %s\n", Source);
+            Gprintf(" No access to %s\n", Source.c_str());
             goto End_ScanDir;
         }
 
         if(errno)
-            Gprintf("\n%s - error: %d (%s)\n", Source, errno, GetError(errno).c_str());
+            Gprintf("\n%s - error: %d (%s)\n", Source.c_str(),
+                    errno, GetError(errno).c_str());
 
         goto End_ScanDir;
     }    
