Re: remove obsolete NULL casts
| От | Neil Conway |
|---|---|
| Тема | Re: remove obsolete NULL casts |
| Дата | |
| Msg-id | 87vfnpov2t.fsf@mailbox.samurai.com обсуждение исходный текст |
| Ответ на | Re: remove obsolete NULL casts (Kurt Roeckx <Q@ping.be>) |
| Ответы |
Re: remove obsolete NULL casts
|
| Список | pgsql-patches |
Kurt Roeckx <Q@ping.be> writes: > In src/backend/port/darwin/system.c you replaced: > > execl(_PATH_BSHELL, "sh", "-c", command, (char *) NULL); > > By: > execl(_PATH_BSHELL, "sh", "-c", command, NULL); > > I think that is one of the exceptions where you do have to cast it, > because the type is unknown. You can only remove the cast when you > actually know what pointer type it is. Ah, good catch! Upon further investigation, you're completely correct: technically, you need to cast the NULL literal to a pointer type in a function call if (a) there is no prototype for the function, or (b) the function is a varargs function (which execl() is). I'd imagine it would only make a difference on a machine where the null pointer is represented by a non-zero bit pattern (i.e. it shouldn't make a difference on any modern machine), but we should do this correctly, of course. Interesting -- you learn something new every day :-) I won't bother posting an updated patch, but I'll include your fix in the patch when I apply it. Thanks again. -Neil
В списке pgsql-patches по дате отправления: