Re: cast pid_t to int when using *printf - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: cast pid_t to int when using *printf
Date
Msg-id 200410142022.i9EKMls20284@candle.pha.pa.us
Whole thread Raw
In response to Re: cast pid_t to int when using *printf  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
OK, 'int' cast added to getpid() calls with %d;  patch attached.

---------------------------------------------------------------------------

Bruce Momjian wrote:
> Neil Conway wrote:
> > Bruce Momjian wrote:
> > > Tom Lane wrote:
> > >>Traditionally PIDs fit in 16 bits, let alone 32.  I'd recommend that we
> > >>standardize on casting pid_t to int for printing purposes;
> > >
> > >
> > > Done.
> >
> > Uh, what? Your patch removes the casting of pid_t to int -- Tom was
> > suggesting that we consistently cast pid_t to int. (Also your patch
> > removes casting from uid_t to int in the case of geteuid() -- why?)
> >
> > For instance:
> >
> > http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/bin/psql/command.c.diff?r1=1.126&r2=1.127
>
> >From Tom:
>
> > Traditionally PIDs fit in 16 bits, let alone 32.  I'd recommend that we
> > standardize on casting pid_t to int for printing purposes;
>
> OK, I read Tom's email saying that we use %d consistently.  I didn't
> realize he was also saying cast getpid(), but that is easy to do.
>
> Before we had "%ld" sometimes, (int) cast others, and sometimes neither.
> It is now consistent and we can make the change all at once.
>
> So I assume everyone wants:
>
>     printf("%d", (int) getpid())?
>
> Is this correct?
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/backend/access/transam/xlog.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v
retrieving revision 1.173
diff -c -c -r1.173 xlog.c
*** src/backend/access/transam/xlog.c    12 Oct 2004 21:54:35 -0000    1.173
--- src/backend/access/transam/xlog.c    14 Oct 2004 19:59:10 -0000
***************
*** 1513,1519 ****
       * up pre-creating an extra log segment.  That seems OK, and better
       * than holding the lock throughout this lengthy process.
       */
!     snprintf(tmppath, MAXPGPATH, "%s/xlogtemp.%d", XLogDir, getpid());

      unlink(tmppath);

--- 1513,1519 ----
       * up pre-creating an extra log segment.  That seems OK, and better
       * than holding the lock throughout this lengthy process.
       */
!     snprintf(tmppath, MAXPGPATH, "%s/xlogtemp.%d", XLogDir, (int)getpid());

      unlink(tmppath);

***************
*** 1633,1639 ****
      /*
       * Copy into a temp file name.
       */
!     snprintf(tmppath, MAXPGPATH, "%s/xlogtemp.%d", XLogDir, getpid());

      unlink(tmppath);

--- 1633,1639 ----
      /*
       * Copy into a temp file name.
       */
!     snprintf(tmppath, MAXPGPATH, "%s/xlogtemp.%d", XLogDir, (int)getpid());

      unlink(tmppath);

***************
*** 2898,2904 ****
      /*
       * Write into a temp file name.
       */
!     snprintf(tmppath, MAXPGPATH, "%s/xlogtemp.%d", XLogDir, getpid());

      unlink(tmppath);

--- 2898,2904 ----
      /*
       * Write into a temp file name.
       */
!     snprintf(tmppath, MAXPGPATH, "%s/xlogtemp.%d", XLogDir, (int)getpid());

      unlink(tmppath);

Index: src/backend/postmaster/pgstat.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/postmaster/pgstat.c,v
retrieving revision 1.80
diff -c -c -r1.80 pgstat.c
*** src/backend/postmaster/pgstat.c    29 Aug 2004 05:06:46 -0000    1.80
--- src/backend/postmaster/pgstat.c    14 Oct 2004 19:59:20 -0000
***************
*** 1505,1511 ****
      snprintf(pgStat_fname, MAXPGPATH, PGSTAT_STAT_FILENAME, DataDir);
      /* tmpfname need only be set correctly in this process */
      snprintf(pgStat_tmpfname, MAXPGPATH, PGSTAT_STAT_TMPFILE,
!              DataDir, getpid());

      /*
       * Arrange to write the initial status file right away
--- 1505,1511 ----
      snprintf(pgStat_fname, MAXPGPATH, PGSTAT_STAT_FILENAME, DataDir);
      /* tmpfname need only be set correctly in this process */
      snprintf(pgStat_tmpfname, MAXPGPATH, PGSTAT_STAT_TMPFILE,
!              DataDir, (int)getpid());

      /*
       * Arrange to write the initial status file right away
Index: src/backend/postmaster/postmaster.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v
retrieving revision 1.432
diff -c -c -r1.432 postmaster.c
*** src/backend/postmaster/postmaster.c    12 Oct 2004 21:54:40 -0000    1.432
--- src/backend/postmaster/postmaster.c    14 Oct 2004 19:59:28 -0000
***************
*** 2760,2766 ****
       */
      ereport(DEBUG3,
              (errmsg_internal("%s child[%d]: starting with (",
!                              progname, getpid())));
      for (i = 0; i < ac; ++i)
          ereport(DEBUG3,
                  (errmsg_internal("\t%s", av[i])));
--- 2760,2766 ----
       */
      ereport(DEBUG3,
              (errmsg_internal("%s child[%d]: starting with (",
!                              progname, (int)getpid())));
      for (i = 0; i < ac; ++i)
          ereport(DEBUG3,
                  (errmsg_internal("\t%s", av[i])));
Index: src/bin/psql/command.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/command.c,v
retrieving revision 1.127
diff -c -c -r1.127 command.c
*** src/bin/psql/command.c    9 Oct 2004 02:46:41 -0000    1.127
--- src/bin/psql/command.c    14 Oct 2004 19:59:33 -0000
***************
*** 1133,1139 ****
          const char *tmpdirenv = getenv("TMPDIR");

          snprintf(fnametmp, sizeof(fnametmp), "%s/psql.edit.%d.%d",
!                  tmpdirenv ? tmpdirenv : "/tmp", geteuid(), getpid());
  #else
          GetTempFileName(".", "psql", 0, fnametmp);
  #endif
--- 1133,1139 ----
          const char *tmpdirenv = getenv("TMPDIR");

          snprintf(fnametmp, sizeof(fnametmp), "%s/psql.edit.%d.%d",
!                  tmpdirenv ? tmpdirenv : "/tmp", geteuid(), (int)getpid());
  #else
          GetTempFileName(".", "psql", 0, fnametmp);
  #endif
Index: src/interfaces/ecpg/ecpglib/misc.c
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v
retrieving revision 1.23
diff -c -c -r1.23 misc.c
*** src/interfaces/ecpg/ecpglib/misc.c    9 Oct 2004 02:46:42 -0000    1.23
--- src/interfaces/ecpg/ecpglib/misc.c    14 Oct 2004 19:59:35 -0000
***************
*** 253,259 ****
              return;
          }

!         sprintf(f, "[%d]: %s", getpid(), format);

          va_start(ap, format);
          vfprintf(debugstream, f, ap);
--- 253,259 ----
              return;
          }

!         sprintf(f, "[%d]: %s", (int)getpid(), format);

          va_start(ap, format);
          vfprintf(debugstream, f, ap);

pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: pg_ctl cleanup
Next
From: Bruce Momjian
Date:
Subject: Re: Slightly better testing for pg_ctl(1)'s -w...