cvs commit: src/usr.sbin/portsnap/portsnap portsnap.sh

Colin Percival cperciva at FreeBSD.org
Sat Aug 13 21:28:44 GMT 2005


cperciva    2005-08-13 21:28:43 UTC

  FreeBSD src repository

  Modified files:
    usr.sbin/portsnap/portsnap portsnap.sh 
  Log:
  Correctly exit from extract_run() and update_run() if files needed are
  missing from ${WORKDIR}/files/.
  
  This bug was caused by the astonishing interaction of "return" and
  pipelines; in the following code, the "return" does not exit the
  function, but instead exits the subshell which was spawned for the last
  element of the pipeline; consequently, the output produced is "foo".
  
  foo() {
          echo bar | while read baz; do
                  if [ ${baz} = "bar" ]; then
                          return 1
                  fi
          done
  
          echo foo
  }
  
  Reported by:    simon
  
  Revision  Changes    Path
  1.7       +9 -4      src/usr.sbin/portsnap/portsnap/portsnap.sh


More information about the cvs-all mailing list