- /* Lisp functions for making directory listings.
+/* Lisp functions for making directory listings.
Copyright (C) 1985, 1986, 1992, 1993, 1994 Free Software Foundation, Inc.
This file is part of SXEmacs
{
char *result = xmalloc_atomic(4096);
- realpath(file, result);
-
+ if ( realpath(file, result) == NULL ) {
+ xfree(result);
+ result = NULL;
+ }
return result;
}
#endif
* store it to our companion bloom filter
*/
canon_name = CANONICALISE_FILENAME(statnam);
-
- /* now, recycle full name */
- fullname = make_ext_string(
- canon_name, strlen(canon_name), Qfile_name);
+ if (canon_name) {
+ /* now, recycle full name */
+ fullname = make_ext_string(
+ canon_name, strlen(canon_name), Qfile_name);
+ }
fullname = fname_as_directory(fullname);
/* now stat statnam */
* check against the bloom filter.
*/
canon_name = CANONICALISE_FILENAME(statnam);
-
- /* now, recycle full name */
- fullname = make_ext_string(
- canon_name, strlen(canon_name),
- Qfile_name);
+
+ if (canon_name) {
+ /* now, recycle full name */
+ fullname = make_ext_string(
+ canon_name, strlen(canon_name),
+ Qfile_name);
+ }
fullname = fname_as_directory(fullname);
/* now stat statnam */