dougm       01/12/17 19:54:49

  Modified:    xs/Apache/SubProcess Apache__SubProcess.h
  Log:
  cut down some duplication with PUSH_FILE_GLOB_* macros
  
  Revision  Changes    Path
  1.6       +15 -9     modperl-2.0/xs/Apache/SubProcess/Apache__SubProcess.h
  
  Index: Apache__SubProcess.h
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/Apache/SubProcess/Apache__SubProcess.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Apache__SubProcess.h      2001/12/18 03:44:33     1.5
  +++ Apache__SubProcess.h      2001/12/18 03:54:49     1.6
  @@ -99,6 +99,15 @@
       return rc;
   }
   
  +#define PUSH_FILE_GLOB(fp, type) \
  +    PUSHs(apr_file_to_glob(aTHX_ fp, r->pool, type))
  +
  +#define PUSH_FILE_GLOB_READ(fp) \
  +    PUSH_FILE_GLOB(fp, APR_PERLIO_HOOK_READ)
  +
  +#define PUSH_FILE_GLOB_WRITE(fp) \
  +    PUSH_FILE_GLOB(fp, APR_PERLIO_HOOK_WRITE)
  +
   static XS(MPXS_modperl_spawn_proc_prog)
   {
       dXSARGS;
  @@ -161,9 +170,8 @@
                   /* XXX: need to do lots of error checking before
                    * putting the object on the stack
                    */
  -                SV *out = apr_file_to_glob(aTHX_ script_out, r->pool,
  -                                           APR_PERLIO_HOOK_READ);
  -                XPUSHs(out);
  +                EXTEND(SP, 1);
  +                PUSH_FILE_GLOB_READ(script_out);
   
                   rc = apr_file_close(script_in);
                   if (rc != APR_SUCCESS) {
  @@ -176,12 +184,10 @@
                   }
               }
               else {
  -                XPUSHs(apr_file_to_glob(aTHX_ script_in,
  -                                        r->pool, APR_PERLIO_HOOK_WRITE));
  -                XPUSHs(apr_file_to_glob(aTHX_ script_out,
  -                                        r->pool, APR_PERLIO_HOOK_READ));
  -                XPUSHs(apr_file_to_glob(aTHX_ script_err,
  -                                        r->pool, APR_PERLIO_HOOK_READ));
  +                EXTEND(SP, 3);
  +                PUSH_FILE_GLOB_WRITE(script_in);
  +                PUSH_FILE_GLOB_READ(script_out);
  +                PUSH_FILE_GLOB_READ(script_err);
               }
           }
           else {
  
  
  


Reply via email to