From 4cab9d170a064f699fa4d1e0badad10e1676a04b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Wed, 15 Oct 1997 06:29:30 +0200 Subject: [PATCH] Might now work on sparc-Linux. Rev: src/modules/files/efuns.c:1.37 --- src/modules/files/efuns.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c index e8f1c09a46..07d6ecabfd 100644 --- a/src/modules/files/efuns.c +++ b/src/modules/files/efuns.c @@ -337,15 +337,16 @@ void f_get_dir(INT32 args) char *ptrs[FPR]; int lens[FPR]; struct dirent *tmp; - - if (!(tmp = alloca(sizeof(struct dirent) + + + if (!(tmp = #ifdef HAVE_SOLARIS_READDIR_R - ((pathconf(path, _PC_NAME_MAX) < 1024)?1024: - pathconf(path, _PC_NAME_MAX)) + alloca(sizeof(struct dirent) + + ((pathconf(path, _PC_NAME_MAX) < 1024)?1024: + pathconf(path, _PC_NAME_MAX)) + 1) #else - NAME_MAX + 1024 + alloca(sizeof(struct dirent) + NAME_MAX + 1024 + 1) #endif /* HAVE_SOLARIS_READDIR_R */ - + 1))) { + )) { closedir(dir); error("get_dir(): Out of memory\n"); } -- GitLab