- From: Bill Rizzi <rizzi@coyote.mit.edu>
- Date: Fri, 9 Aug 1996 20:17:06 -0700
- To: www-lib-bugs@w3.org
Haven't seen these posted or in the archives, my apologies if they're
old news.
There is a problem when compiling for reentrant library usage on
Solaris 2.x (and probably others) with files:
Library/src/HTFile.c
Library/src/HTMulti.c
The problem is with the declaration and use of struct dirent with the
readdir_r() function. Here are the diffs:
HTFile.c
164,165c164,165
< struct dirent * result; /* For readdir_r */
< while ((dirbuf = (dirent *) readdir_r(dp, &result)))
---
> char result[sizeof(struct dirent) + DIRBUF + 1]; /* For readdir_r */
> while ((dirbuf = (struct dirent *) readdir_r(dp, (struct dirent *)result)))
HTMulti.c
337c337
< DIR result; /* For readdir_r */
---
> char [sizeof(struct dirent) + DIRBUF + 1]; /* For readdir_r */
364c364
< while ((dirbuf = (DIR *) readdir_r(dp, &result))) {
---
> while ((dirbuf = (struct dirent *) readdir_r(dp, &result))) {
Note the use of DIRBUF above comes from the Solaris dirent.h
header file. This may not be general.
Z
--
Bill Rizzi rizzi@softserv.com Software Services
Z http://www.softserv.com/~rizzi Santa Barbara, CA
Received on Friday, 9 August 1996 23:20:06 UTC