summaryrefslogtreecommitdiff
path: root/src/dired.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-03-21 18:23:09 +0000
committerRichard M. Stallman <rms@gnu.org>1998-03-21 18:23:09 +0000
commit8ec5a40461420a6cac52c9bd089cd8bd01d0c6eb (patch)
treeb90cf03dd813238a384ba9ad500c135341de401f /src/dired.c
parentb10b2daa18775dc1bd218ab6c33cae4a3f8447ab (diff)
downloademacs-8ec5a40461420a6cac52c9bd089cd8bd01d0c6eb.tar.gz
(Fdirectory_files): In FULL case, compute number of characters
Diffstat (limited to 'src/dired.c')
-rw-r--r--src/dired.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/dired.c b/src/dired.c
index 076b42ee40c..090f58b7252 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -206,6 +206,7 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable.\n\
int afterdirindex = dirnamelen;
int total = len + dirnamelen;
int needsep = 0;
+ int nchars;
/* Decide whether we need to add a directory separator. */
#ifndef VMS
@@ -221,6 +222,11 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable.\n\
XSTRING (name)->data[afterdirindex++] = DIRECTORY_SEP;
bcopy (dp->d_name,
XSTRING (name)->data + afterdirindex, len);
+ nchars = chars_in_text (dp->d_name,
+ afterdirindex + len);
+ XSTRING (name)->size = nchars;
+ if (nchars == STRING_BYTES (XSTRING (name)))
+ SET_STRING_BYTES (XSTRING (name), -1);
}
else
name = make_string (dp->d_name, len);