]> sourceware.org Git - newlib-cygwin.git/commitdiff
* fhandler.h (fhandler_process::p): New field.
authorChristopher Faylor <me@cgf.cx>
Sun, 30 Jun 2002 17:05:48 +0000 (17:05 +0000)
committerChristopher Faylor <me@cgf.cx>
Sun, 30 Jun 2002 17:05:48 +0000 (17:05 +0000)
(fhandler_process:fill_filebuf): Revert to same definition as virtual in parent
class.
(fhandler_process::open): Fill out p field rather than passing as an argument.
(fhandler_process::fill_filebuf): Use p pointer rather than argument.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler.h
winsup/cygwin/fhandler_process.cc

index 6aabfab9e60ec22ba776f6132eb783815afa5d28..cb7448b4ca68b88a8927609d6473c33a5ea3f163 100644 (file)
@@ -1,3 +1,12 @@
+2002-06-30  Christopher Faylor  <cgf@redhat.com>
+
+       * fhandler.h (fhandler_process::p): New field.
+       (fhandler_process:fill_filebuf): Revert to same definition as virtual
+       in parent class.
+       (fhandler_process::open): Fill out p field rather than passing as an
+       argument.
+       (fhandler_process::fill_filebuf): Use p pointer rather than argument.
+
 2002-06-29  Pierre Humblet <pierre.humblet@ieee.org>   
 
        * security.cc (extract_nt_dom_user): Check for all buffer overflows.
index e0521d4efe79193511a20f922e7cdff44fed5807..d04966a36cd8b0d1172905fd7165f032f5a7ebc2 100644 (file)
@@ -1128,13 +1128,14 @@ class fhandler_registry: public fhandler_proc
 struct _pinfo;
 class fhandler_process: public fhandler_proc
 {
+  pinfo *p;
  public:
   fhandler_process ();
   int exists();
   struct dirent *readdir (DIR *);
   int open (path_conv *real_path, int flags, mode_t mode = 0);
   int __stdcall fstat (struct __stat64 *buf, path_conv *) __attribute__ ((regparm (3)));
-  void fill_filebuf (pinfo& p);
+  void fill_filebuf ();
 };
 
 typedef union
index 86393db05ccb541371836463d792f0547ba28532..f2b8963147dcda0ce626f9586737901c8d0ccc77 100644 (file)
@@ -227,12 +227,14 @@ fhandler_process::open (path_conv *pc, int flags, mode_t mode)
     }
 
   fileid = process_file_no;
-  fill_filebuf (p);
+  this->p = &p;
+  fill_filebuf ();
 
   if (flags & O_APPEND)
     position = filesize;
   else
     position = 0;
+  this->p = NULL;
   }
 
 success:
@@ -245,7 +247,7 @@ out:
 }
 
 void
-fhandler_process::fill_filebuf (pinfo& p)
+fhandler_process::fill_filebuf ()
 {
   switch (fileid)
     {
@@ -262,22 +264,22 @@ fhandler_process::fill_filebuf (pinfo& p)
        switch (fileid)
          {
          case PROCESS_PPID:
-           num = p->ppid;
+           num = (*p)->ppid;
            break;
          case PROCESS_UID:
-           num = p->uid;
+           num = (*p)->uid;
            break;
          case PROCESS_PGID:
-           num = p->pgid;
+           num = (*p)->pgid;
            break;
          case PROCESS_SID:
-           num = p->sid;
+           num = (*p)->sid;
            break;
          case PROCESS_GID:
-           num = p->gid;
+           num = (*p)->gid;
            break;
          case PROCESS_CTTY:
-           num = p->ctty;
+           num = (*p)->ctty;
            break;
          default: // what's this here for?
            num = 0;
@@ -291,11 +293,11 @@ fhandler_process::fill_filebuf (pinfo& p)
       {
        if (!filebuf)
        filebuf = (char *) cmalloc (HEAP_BUF, bufalloc = MAX_PATH);
-       if (p->process_state & (PID_ZOMBIE | PID_EXITED))
+       if ((*p)->process_state & (PID_ZOMBIE | PID_EXITED))
          strcpy (filebuf, "<defunct>");
        else
          {
-           mount_table->conv_to_posix_path (p->progname, filebuf, 1);
+           mount_table->conv_to_posix_path ((*p)->progname, filebuf, 1);
            int len = strlen (filebuf);
            if (len > 4)
              {
@@ -311,16 +313,16 @@ fhandler_process::fill_filebuf (pinfo& p)
       {
        if (!filebuf)
        filebuf = (char *) cmalloc (HEAP_BUF, bufalloc = 40);
-       __small_sprintf (filebuf, "%d\n", p->dwProcessId);
+       __small_sprintf (filebuf, "%d\n", (*p)->dwProcessId);
        filesize = strlen (filebuf);
        break;
       }
     case PROCESS_WINEXENAME:
       {
-       int len = strlen (p->progname);
+       int len = strlen ((*p)->progname);
        if (!filebuf)
        filebuf = (char *) cmalloc (HEAP_BUF, bufalloc = (len + 2));
-       strcpy (filebuf, p->progname);
+       strcpy (filebuf, (*p)->progname);
        filebuf[len] = '\n';
        filesize = len + 1;
        break;
@@ -329,21 +331,21 @@ fhandler_process::fill_filebuf (pinfo& p)
       {
        if (!filebuf)
          filebuf = (char *) cmalloc (HEAP_BUF, bufalloc = 2048);
-       filesize = format_process_status (p, filebuf, bufalloc);
+       filesize = format_process_status ((*p), filebuf, bufalloc);
        break;
       }
     case PROCESS_STAT:
       {
        if (!filebuf)
          filebuf = (char *) cmalloc (HEAP_BUF, bufalloc = 2048);
-       filesize = format_process_stat (p, filebuf, bufalloc);
+       filesize = format_process_stat ((*p), filebuf, bufalloc);
        break;
       }
     case PROCESS_STATM:
       {
        if (!filebuf)
          filebuf = (char *) cmalloc (HEAP_BUF, bufalloc = 2048);
-       filesize = format_process_statm (p, filebuf, bufalloc);
+       filesize = format_process_statm ((*p), filebuf, bufalloc);
        break;
       }
     }
This page took 0.039619 seconds and 5 git commands to generate.