There was a patch applied against entab/halt.c that converts
it away from K&R varargs.  But it's buggy, its makes halt()
use second argment as format string, not first.

Following patch fixes it, but also converts entab/entab.c away
from K&R.

That is from my own patch against entab for the same
problem, which got lost somewhere in -patches.

-- 
marko

Index: src/tools/entab/entab.c
===================================================================
RCS file: /opt/arc/cvs2/pgsql/src/tools/entab/entab.c,v
retrieving revision 1.13
diff -u -c -r1.13 entab.c
*** src/tools/entab/entab.c     7 Oct 2003 17:40:09 -0000       1.13
--- src/tools/entab/entab.c     5 May 2005 12:36:27 -0000
***************
*** 29,37 ****
  extern int    optind;
  
  int
! main(argc, argv)
! int                   argc;
! char    **argv;
  {
        int                     tab_size = 8,
                                min_spaces = 2,
--- 29,35 ----
  extern int    optind;
  
  int
! main(int argc, char **argv)
  {
        int                     tab_size = 8,
                                min_spaces = 2,
Index: src/tools/entab/halt.c
===================================================================
RCS file: /opt/arc/cvs2/pgsql/src/tools/entab/halt.c,v
retrieving revision 1.6
diff -u -c -r1.6 halt.c
*** src/tools/entab/halt.c      15 Apr 2005 04:29:32 -0000      1.6
--- src/tools/entab/halt.c      5 May 2005 12:36:00 -0000
***************
*** 19,33 ****
  
  /*VARARGS*/
  void
! halt(const char *path, ...)
  {
        va_list         arg_ptr;
!       char       *format,
!                          *pstr;
        void            (*sig_func) ();
  
!       va_start(arg_ptr, path);
!       format = va_arg(arg_ptr, char *);
        if (strncmp(format, "PERROR", 6) != 0)
                vfprintf(stderr, format, arg_ptr);
        else
--- 19,31 ----
  
  /*VARARGS*/
  void
! halt(const char *format, ...)
  {
        va_list         arg_ptr;
!       const char  *pstr;
        void            (*sig_func) ();
  
!       va_start(arg_ptr, format);
        if (strncmp(format, "PERROR", 6) != 0)
                vfprintf(stderr, format, arg_ptr);
        else
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to