diff --git a/src/fdlib.c b/src/fdlib.c
index 5d193fc9cbbbd9c98dae6de071bf5a8262268413..debf5cb16748b408ee7ad71390ac4fae3249aee7 100644
--- a/src/fdlib.c
+++ b/src/fdlib.c
@@ -3,7 +3,7 @@
 #include "error.h"
 #include <math.h>
 
-RCSID("$Id: fdlib.c,v 1.32 2000/06/17 02:20:58 hubbe Exp $");
+RCSID("$Id: fdlib.c,v 1.33 2000/06/26 13:52:36 mast Exp $");
 
 #ifdef HAVE_WINSOCK_H
 
@@ -96,7 +96,9 @@ int debug_fd_stat(char *file, struct stat *buf)
   char fname[MAX_PATH];
   if(file[l-1]=='/' || file[l-1]=='\\')
   {
-    while(l && ( file[l]=='/' || file[l]=='\\' )) l--;
+    do l--;
+    while(l && ( file[l]=='/' || file[l]=='\\' ));
+    l++;
     if(l+1 > sizeof(fname))
     {
       errno=EINVAL;
@@ -119,7 +121,9 @@ FD debug_fd_open(char *file, int open_mode, int create_mode)
   char fname[MAX_PATH];
   if(file[l-1]=='/' || file[l-1]=='\\')
   {
-    while(l && ( file[l]=='/' || file[l]=='\\' )) l--;
+    do l--;
+    while(l && ( file[l]=='/' || file[l]=='\\' ));
+    l++;
     if(l+1 > sizeof(fname))
     {
       errno=EINVAL;