Mercurial > hg > xemacs-beta
diff src/dired.c @ 14:9ee227acff29 r19-15b90
Import from CVS: tag r19-15b90
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:48:42 +0200 |
parents | ac2d302a0011 |
children | 0293115a14e9 |
line wrap: on
line diff
--- a/src/dired.c Mon Aug 13 08:48:18 2007 +0200 +++ b/src/dired.c Mon Aug 13 08:48:42 2007 +0200 @@ -93,9 +93,9 @@ /* XEmacs: this should come before the opendir() because it might error. */ Lisp_Object name_as_dir = Ffile_name_as_directory (dirname); CHECK_STRING (name_as_dir); - memcpy (statbuf, ((char *) string_data (XSTRING (name_as_dir))), - string_length (XSTRING (name_as_dir))); - statbuf_tail = statbuf + string_length (XSTRING (name_as_dir)); + memcpy (statbuf, ((char *) XSTRING_DATA (name_as_dir)), + XSTRING_LENGTH (name_as_dir)); + statbuf_tail = statbuf + XSTRING_LENGTH (name_as_dir); } /* XEmacs: this should come after Ffile_name_as_directory() to avoid @@ -126,16 +126,16 @@ an error is signalled while the directory stream is open, we have to make sure it gets closed, and setting up an unwind_protect to do so would be a pain. */ - d = opendir ((char *) string_data (XSTRING (dirfilename))); + d = opendir ((char *) XSTRING_DATA (dirfilename)); if (! d) report_file_error ("Opening directory", list1 (dirname)); list = Qnil; tail_cons = Qnil; - dirname_length = string_length (XSTRING (dirname)); + dirname_length = XSTRING_LENGTH (dirname); #ifndef VMS if (dirname_length == 0 - || !IS_ANY_SEP (string_byte (XSTRING (dirname), dirname_length - 1))) + || !IS_ANY_SEP (XSTRING_BYTE (dirname, dirname_length - 1))) { *filename++ = DIRECTORY_SEP; dirname_length++; @@ -277,11 +277,11 @@ struct stat *st_addr) { Bytecount len = NAMLEN (dp); - Bytecount pos = string_length (XSTRING (dirname)); + Bytecount pos = XSTRING_LENGTH (dirname); int value; char *fullname = (char *) alloca (len + pos + 2); - memcpy (fullname, string_data (XSTRING (dirname)), pos); + memcpy (fullname, XSTRING_DATA (dirname), pos); #ifndef VMS if (!IS_DIRECTORY_SEP (fullname[pos - 1])) fullname[pos++] = DIRECTORY_SEP; @@ -348,7 +348,7 @@ for (passcount = !!all_flag; NILP (bestmatch) && passcount < 2; passcount++) { d = opendir ((char *) - string_data (XSTRING (Fdirectory_file_name (dirname)))); + XSTRING_DATA (Fdirectory_file_name (dirname))); if (!d) report_file_error ("Opening directory", list1 (dirname)); @@ -381,9 +381,7 @@ if (! DIRENTRY_NONEMPTY (dp) || cclen < file_name_length - || 0 <= scmp (d_name, - string_data (XSTRING (file)), - file_name_length)) + || 0 <= scmp (d_name, XSTRING_DATA (file), file_name_length)) continue; if (file_name_completion_stat (dirname, dp, &st) < 0) @@ -420,7 +418,7 @@ if (skip < 0) continue; if (0 > scmp (charptr_n_addr (d_name, skip), - string_data (XSTRING (elt)), + XSTRING_DATA (elt), string_char_length (XSTRING (elt)))) { ignored_extension_p = 1; @@ -464,7 +462,7 @@ else { Charcount compare = min (bestmatchsize, cclen); - Bufbyte *p1 = string_data (XSTRING (bestmatch)); + Bufbyte *p1 = XSTRING_DATA (bestmatch); Bufbyte *p2 = d_name; Charcount matchsize = scmp (p1, p2, compare); @@ -490,9 +488,9 @@ /* If there is more than one exact match aside from case, and one of them is exact including case, prefer that one. */ - && 0 > scmp_1 (p2, string_data (XSTRING (file)), + && 0 > scmp_1 (p2, XSTRING_DATA (file), file_name_length, 0) - && 0 <= scmp_1 (p1, string_data (XSTRING (file)), + && 0 <= scmp_1 (p1, XSTRING_DATA (file), file_name_length, 0))) { bestmatch = make_string (d_name, len); @@ -578,7 +576,7 @@ CHECK_STRING (filename); fab = cc$rms_fab; xabfhc = cc$rms_xabfhc; - fab.fab$l_fna = string_data (XSTRING (filename)); + fab.fab$l_fna = XSTRING_DATA (filename); fab.fab$b_fns = strlen (fab.fab$l_fna); fab.fab$l_xab = (char *) &xabfhc; status = sys$open (&fab, 0, 0); @@ -645,7 +643,7 @@ if (!NILP (handler)) return call2 (handler, Qfile_attributes, filename); - if (lstat ((char *) string_data (XSTRING (filename)), &s) < 0) + if (lstat ((char *) XSTRING_DATA (filename), &s) < 0) return Qnil; GCPRO2 (filename, dirname); @@ -656,15 +654,14 @@ #ifdef MSDOS { - char *tmpnam = - (char *) string_data (XSTRING (Ffile_name_nondirectory (filename))); + char *tmpnam = (char *) XSTRING_DATA (Ffile_name_nondirectory (filename)); int l = strlen (tmpnam); if (l >= 5 && S_ISREG (s.st_mode) - && (stricmp (&tmpnam[l - 4], ".com") == 0 - || stricmp (&tmpnam[l - 4], ".exe") == 0 - || stricmp (&tmpnam[l - 4], ".bat") == 0)) + && (stricmp (&tmpnam[l - 4], ".com") == 0 || + stricmp (&tmpnam[l - 4], ".exe") == 0 || + stricmp (&tmpnam[l - 4], ".bat") == 0)) { s.st_mode |= S_IEXEC; } @@ -702,7 +699,7 @@ { struct stat sdir; - if (!NILP (dirname) && stat ((char *) string_data (XSTRING (dirname)), &sdir) == 0) + if (!NILP (dirname) && stat ((char *) XSTRING_DATA (dirname), &sdir) == 0) values[9] = (sdir.st_gid != s.st_gid) ? Qt : Qnil; else /* if we can't tell, assume worst */ values[9] = Qt;