Loading ...
Sorry, an error occurred while loading the content.

Re: Compile warning: missing sentinel in function call

Expand Messages
  • Mike Williams
    ... On OpenBSD NULL is defined as 0L which is not a null pointer constant in variadic function call and needs to be cast to pass a NULL pointer. Mike -- A
    Message 1 of 4 , May 18, 2009
    • 0 Attachment
      On 15/05/2009 20:17, Dominique Pellé wrote:
      > On Fri, May 15, 2009 at 8:23 PM, Bram Moolenaar <Bram@...> wrote:
      >
      >> Dasn wrote:
      >>
      >>> Hi, when compiling 7.2-1-173 on OpenBSD, I got:
      >>>
      >>>> if_cscope.c: In function `cs_create_connection':
      >>>> if_cscope.c:997: warning: missing sentinel in function call
      >>> Not a big problem, should be easy to fix:
      >>>
      >>> *** if_cscope.c 22 Apr 2009 14:25:01 -0000 1.36
      >>> --- if_cscope.c 14 May 2009 23:07:54 -0000
      >>> *************** err_closing:
      >>> *** 994, 1000 ****
      >>> vim_free(ppath);
      >>>
      >>> #if defined(UNIX)
      >>> ! if (execl("/bin/sh", "sh", "-c", cmd, NULL) == -1)
      >>> PERROR(_("cs_create_connection exec failed"));
      >>>
      >>> exit(127);
      >>> --- 994, 1000 ----
      >>> vim_free(ppath);
      >>>
      >>> #if defined(UNIX)
      >>> ! if (execl("/bin/sh", "sh", "-c", cmd, (char *) NULL) == -1)
      >>> PERROR(_("cs_create_connection exec failed"));
      >>>
      >>> exit(127);
      >> Strange warning. But the fix shouldn't hurt anyone.
      >
      >
      > The man page of execl(3) on Linux says...
      >
      > ===========================================
      > The list of arguments must be terminated by a NULL pointer,
      > and, since these are variadic functions, this pointer must be
      > cast (char *) NULL.
      > ===========================================
      >
      > So the proposed fix seems ok.
      > -- Dominique

      On OpenBSD NULL is defined as 0L which is not a null pointer constant in
      variadic function call and needs to be cast to pass a NULL pointer.

      Mike
      --
      A complex system that works is invariably found to have evolved from a
      simple system that worked.

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    Your message has been successfully submitted and would be delivered to recipients shortly.