Index: shfs-0.35/shfs/Linux-2.4/shell.c =================================================================== --- shfs-0.35.orig/shfs/Linux-2.4/shell.c 2007-06-04 13:22:57.970042496 +0200 +++ shfs-0.35/shfs/Linux-2.4/shell.c 2007-06-04 13:22:59.249847936 +0200 @@ -213,6 +213,7 @@ int c = 0; int is_space = 1; int device = 0; + char *start = s; while (*s) { if (c == DIR_COLS) @@ -227,17 +228,20 @@ s++; } *s = '\0'; + start = s+1; is_space = 1; + } else { + if (c != DIR_NAME) + start = s+1; } } else { if (is_space) { /* (b)lock/(c)haracter device hack */ - col[c++] = s; + col[c++] = start; is_space = 0; if ((c-1 == DIR_PERM) && ((*s == 'b')||(*s == 'c'))) { device = 1; } - } } s++; Index: shfs-0.35/shfs/Linux-2.6/shell.c =================================================================== --- shfs-0.35.orig/shfs/Linux-2.6/shell.c 2007-06-04 13:22:57.977041432 +0200 +++ shfs-0.35/shfs/Linux-2.6/shell.c 2007-06-04 13:22:59.249847936 +0200 @@ -225,6 +225,7 @@ int c = 0; int is_space = 1; int device = 0; + char *start = s; while (*s) { if (c == DIR_COLS) @@ -239,17 +240,20 @@ s++; } *s = '\0'; + start = s+1; is_space = 1; + } else { + if (c != DIR_NAME) + start = s+1; } } else { if (is_space) { /* (b)lock/(c)haracter device hack */ - col[c++] = s; + col[c++] = start; is_space = 0; if ((c-1 == DIR_PERM) && ((*s == 'b')||(*s == 'c'))) { device = 1; } - } } s++;