aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China#
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China# One of the problems that we can encounter involves trying to typedef a struct
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China# that has an error in it. The problem here is that we actually create the type
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China# itself for the struct before we add members. So what we need is something that
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China# will fail validation. So here we go!
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China#
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing ChinaTMPFILE="/tmp/$(mktemp mtest.XXXXXX)"
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing Chinaif [[ -z "$TMPFILE" ]]; then
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China echo "Failed to get a temp file" 2>&1
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China exit 1
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing Chinafi
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China$MDB <<EOF
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China::typedef "struct foo { int r; }" foo_t
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China::typedef -l ! cat > $TMPFILE
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing ChinaEOF
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing ChinaDATA=$(cat $TMPFILE)
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing Chinarm -f $TMPFILE
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China[[ -z $DATA ]]
aecfc01d1bad84e66649703f7fc2926ef70b34barui zang - Sun Microsystems - Beijing China