hi guys,

I am trying to learn to write recursive functions in bash. As one of my
first attempts i wrote this program to emulate the system provided tac
command:

after playing with it for a good bit, it no longer produces this error
message:
malloc: ../bash/subst.c:4135: assertion botched
realloc: start and end chunk sizes differ

but it doesn't reverse the file.   What am i doing wrong?  Is there
something about unix file descriptors I don't understand? 

Many Thanks,
-Dave

function swap_until_one_left
{
        export NUMBER_OF_LINES=$( wc -l $1 | awk '{ print $1 }' )
        case $NUMBER_OF_LINES in
                0)      echo "empty file"
                        exit
                ;;
                1)      cat $1
                        exit
                ;;
                2)      cat <(tail -1 $1) <(head --lines=-1 $1)
                        exit
                ;;
                *)      cat <(tail -1 $1 ) <(   swap_until_one_left <(head
--lines=-1 $1 )   )
                ;;
        esac

}

swap_until_one_left  simple_test_file


P.S. I am pretty sure that no interpretter should ever say malloc:
../bash/subst.c:4135: assertion botched and i would like to report it as a
bug.

Thanks Again.



-- 
View this message in context: 
http://www.nabble.com/recursive-functions-in-bash-tf4894246.html#a14016660
Sent from the Gnu - Bash mailing list archive at Nabble.com.



Reply via email to