From: "Jan Djärv" <jan.h.d@swipnet.se>
To: Juanma Barranquero <lekktu@gmail.com>
Cc: emacs-devel@gnu.org, "Randal L. Schwartz" <merlyn@stonehenge.com>
Subject: Re: recent commit broke src/dired.c on OSX
Date: Sun, 25 Jul 2010 23:26:02 +0200 [thread overview]
Message-ID: <4C4CABEA.4040005@swipnet.se> (raw)
In-Reply-To: <AANLkTinY1O0=vj4EiHMmSiuks1aYO=SCj9R4Cun3cv-L@mail.gmail.com>
Juanma Barranquero skrev 2010-07-25 19.30:
> On Sun, Jul 25, 2010 at 19:23, Randal L. Schwartz<merlyn@stonehenge.com> wrote:
>
>> -extern DIR *opendir ();
>> -extern struct direct *readdir ();
>> +extern DIR *opendir (char *);
>> +extern struct direct *readdir (DIR *);
>
>> Needs to be backed out, or made more portable.
>
> Sure. I'd prefer to make it more portable (that already compiles on
> Windows / MinGW and Ubuntu / GCC).
>
> What is the right prototype in your system? (You didn't attach the
> error output, BTW). Could you send a patch with the relevant #ifdef?
>
AFAIK, the correct prototype for opendir is
DIR *opendir(const char *);
even on Ubunt, as well as OSX and of course POSIX and Single Unix
Specification. But on GNU/Linux SYSV_SYSTEM_DIR is defined, but not on OSX.
So on GNU/Linux, the wrong prototype is not seen by the compiler.
I think it is an error to extern declare system functions, the proper include
file should be used instead.
All the #ifdefs that try to figure out if dirent.h (the POSIX-mandated header
file for opendir) is present should be replaced with a configure check for
dirent.h. Then SYSV_SYSTEM_DIR can go away.
Jan D.
next prev parent reply other threads:[~2010-07-25 21:26 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-25 17:23 recent commit broke src/dired.c on OSX Randal L. Schwartz
2010-07-25 17:30 ` Juanma Barranquero
2010-07-25 17:40 ` Randal L. Schwartz
2010-07-25 17:51 ` Juanma Barranquero
2010-07-25 17:58 ` Randal L. Schwartz
2010-07-25 18:04 ` Juanma Barranquero
2010-07-25 20:12 ` Chad Brown
2010-07-25 20:39 ` Juanma Barranquero
2010-07-26 2:46 ` Chad Brown
2010-07-26 3:12 ` Chad Brown
2010-07-26 3:43 ` Juanma Barranquero
2010-07-26 8:44 ` David Kastrup
2010-07-26 9:58 ` Juanma Barranquero
2010-07-26 6:02 ` Jan Djärv
2010-07-26 6:33 ` Jan Djärv
2010-07-26 16:58 ` Eli Zaretskii
2010-07-27 21:40 ` Chad Brown
2010-07-27 23:18 ` Juanma Barranquero
2010-07-27 23:28 ` Óscar Fuentes
2010-07-28 0:16 ` Juanma Barranquero
2010-07-28 0:33 ` Óscar Fuentes
2010-07-28 0:45 ` Juanma Barranquero
2010-07-28 0:54 ` Óscar Fuentes
2010-07-28 0:58 ` Juanma Barranquero
2010-07-28 6:32 ` Jan Djärv
2010-07-25 20:44 ` Eli Zaretskii
2010-07-29 18:21 ` Randal L. Schwartz
2010-07-29 19:11 ` Jan Djärv
2010-07-29 19:19 ` Randal L. Schwartz
2010-07-29 19:29 ` Chad Brown
2010-07-29 20:09 ` Jan Djärv
2010-07-29 20:37 ` Óscar Fuentes
2010-07-29 21:07 ` Jan Djärv
2010-07-29 21:17 ` Óscar Fuentes
2010-07-29 23:19 ` Chad Brown
2010-07-25 20:50 ` Dan Nicolaescu
2010-07-25 20:54 ` Juanma Barranquero
2010-07-25 20:59 ` Eli Zaretskii
2010-07-25 21:26 ` Jan Djärv [this message]
2010-07-25 21:32 ` Jan Djärv
2010-07-25 17:38 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C4CABEA.4040005@swipnet.se \
--to=jan.h.d@swipnet.se \
--cc=emacs-devel@gnu.org \
--cc=lekktu@gmail.com \
--cc=merlyn@stonehenge.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.