/[guile]/guile/guile-core/ice-9/popen.scm
ViewVC logotype

Diff of /guile/guile-core/ice-9/popen.scm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9.2.1 by mdj, Thu Oct 18 19:41:08 2001 UTC revision 1.9.2.2 by kryde, Fri Sep 19 01:11:34 2003 UTC
# Line 106  Line 106 
106                                                  (= pt-fileno error-fdes)))                                                  (= pt-fileno error-fdes)))
107                                         (close-fdes pt-fileno))))))                                         (close-fdes pt-fileno))))))
108    
109                 ;; copy the three selected descriptors to the standard                 ;; Copy the three selected descriptors to the standard
110                 ;; descriptors 0, 1, 2.  note that it's possible that                 ;; descriptors 0, 1, 2, if not already there
                ;; output-fdes or input-fdes is equal to error-fdes.  
111    
112                 (cond ((not (= input-fdes 0))                 (cond ((not (= input-fdes 0))
113                        (if (= output-fdes 0)                        (if (= output-fdes 0)
114                            (set! output-fdes (dup->fdes 0)))                            (set! output-fdes (dup->fdes 0)))
115                        (if (= error-fdes 0)                        (if (= error-fdes 0)
116                            (set! error-fdes (dup->fdes 0)))                            (set! error-fdes (dup->fdes 0)))
117                        (dup2 input-fdes 0)))                        (dup2 input-fdes 0)
118                          ;; it's possible input-fdes is error-fdes
119                          (if (not (= input-fdes error-fdes))
120                              (close-fdes input-fdes))))
121                  
122                 (cond ((not (= output-fdes 1))                 (cond ((not (= output-fdes 1))
123                        (if (= error-fdes 1)                        (if (= error-fdes 1)
124                            (set! error-fdes (dup->fdes 1)))                            (set! error-fdes (dup->fdes 1)))
125                        (dup2 output-fdes 1)))                        (dup2 output-fdes 1)
126                          ;; it's possible output-fdes is error-fdes
127                          (if (not (= output-fdes error-fdes))
128                              (close-fdes output-fdes))))
129    
130                 (dup2 error-fdes 2)                 (cond ((not (= error-fdes 2))
131                          (dup2 error-fdes 2)
132                          (close-fdes error-fdes)))
133                                            
134                 (apply execlp prog prog args)))                 (apply execlp prog prog args)))
135    

Legend:
Removed from v.1.9.2.1  
changed lines
  Added in v.1.9.2.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26