changeset 3212:26a547441418

[xemacs-hg @ 2006-01-21 13:34:20 by crestani] Fixes for Cygwin 1.5.19: * sysdir.h: Workaround missing d_ino field from 'struct dirent'. * mc-alloc.c (init_mc_allocator): Cygwin claims to have a 64k page size, add it.
author crestani
date Sat, 21 Jan 2006 13:34:21 +0000
parents b16c0b10f097
children a91c9998585a
files src/ChangeLog src/mc-alloc.c src/sysdir.h
diffstat 3 files changed, 20 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Fri Jan 20 22:51:21 2006 +0000
+++ b/src/ChangeLog	Sat Jan 21 13:34:21 2006 +0000
@@ -1,3 +1,12 @@
+2006-01-21  Marcus Crestani  <crestani@xemacs.org>
+
+	* mc-alloc.c (init_mc_allocator): Cygwin claims to have a 64k
+	page size, add it.
+
+2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
+
+	* sysdir.h: Workaround missing d_ino field from 'struct dirent'.
+
 2006-01-19  Marcus Crestani  <crestani@xemacs.org>
 
 	* dynarr.c (Dynarr_realloc): Determine size of memory region to
--- a/src/mc-alloc.c	Fri Jan 20 22:51:21 2006 +0000
+++ b/src/mc-alloc.c	Sat Jan 21 13:34:21 2006 +0000
@@ -1732,7 +1732,12 @@
     case  4096: log_page_size = 12; break;
     case  8192: log_page_size = 13; break;
     case 16384: log_page_size = 14; break;
-    default: ABORT ();
+    case 32768: log_page_size = 15; break;
+    case 65536: log_page_size = 16; break;
+    default: 
+      fprintf(stderr, "##### SYS_PAGE_SIZE=%d not supported #####\n",
+	      SYS_PAGE_SIZE);
+      ABORT ();
     }
   
   page_size_div_2 = (EMACS_INT) SYS_PAGE_SIZE >> 1;
--- a/src/sysdir.h	Fri Jan 20 22:51:21 2006 +0000
+++ b/src/sysdir.h	Sat Jan 21 13:34:21 2006 +0000
@@ -62,7 +62,11 @@
    Since applying strlen to the name always works, we'll just do that.  */
 #define NAMLEN(p) strlen (p->d_name)
 
-#define DIRENTRY_NONEMPTY(p) ((p)->d_ino)
+#ifdef __CYGWIN__
+# define DIRENTRY_NONEMPTY(p) ((p)->d_name[0] != '\0')
+#else
+# define DIRENTRY_NONEMPTY(p) ((p)->d_ino)
+#endif
 
 /* encapsulation: directory calls */