(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NM) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [52] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-gt>} {<0>} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$NM')} {<-P>} {($ Id.VSub_Number '$1')}) terminator: <Id.Op_Semi _> ) (C {<echo>} {(SQ <'end[end]:'>)}) ] ) ) (C {<gawk>} { (SQ <' BEGIN {\n'> <'C["accept"]=1\n'> <'C["close"]=1\n'> <'C["connect"]=1\n'> <'C["creat"]=1\n'> <'C["fcntl"]=1\n'> <'C["fdatasync"]=1\n'> <'C["fsync"]=1\n'> <'C["msgrcv"]=1\n'> <'C["msgsnd"]=1\n'> <'C["msync"]=1\n'> <'C["nanosleep"]=1\n'> <'C["open"]=1\n'> <'C["open64"]=1\n'> <'C["pause"]=1\n'> <'C["poll"]=1\n'> <'C["pread"]=1\n'> <'C["pread64"]=1\n'> <'C["pselect"]=1\n'> <'C["pwrite"]=1\n'> <'C["pwrite64"]=1\n'> <'C["read"]=1\n'> <'C["readv"]=1\n'> <'C["recv"]=1\n'> <'C["recvfrom"]=1\n'> <'C["recvmsg"]=1\n'> <'C["select"]=1\n'> <'C["send"]=1\n'> <'C["sendmsg"]=1\n'> <'C["sendto"]=1\n'> <'C["sigpause"]=1\n'> <'C["sigsuspend"]=1\n'> <'C["sigwait"]=1\n'> <'C["sigwaitinfo"]=1\n'> <'C["tcdrain"]=1\n'> <'C["wait"]=1\n'> <'C["waitid"]=1\n'> <'C["waitpid"]=1\n'> <'C["write"]=1\n'> <'C["writev"]=1\n'> <'C["__xpg_sigpause"]=1\n'> <'}\n'> <'/:$/ {\n'> <' if (seen)\n'> <' {\n'> <' if (!seen_enable || !seen_disable)\n'> <'\t{\n'> <'\t printf "in '> ) ($ Id.VSub_Number '$1') (SQ <'(%s) %s'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) (SQ <'s cancellation missing\\n", object, seen\n'> <'\t ret = 1\n'> <'\t}\n'> <' }\n'> <' seen=""\n'> <' seen_enable=""\n'> <' seen_disable=""\n'> <' object=gensub(/^.*\\[(.*)\\]:$/, "\\\\1", 1, $0)\n'> <' next\n'> <'}\n'> <'{\n'> <' if (C[$1] && $2 ~ /^[TW]$/)\n'> <' seen=$1\n'> < ' else if ($1 ~ /^([.]|)__(libc|pthread)_enable_asynccancel$/ && $2 == "U")\n' > <' seen_enable=1\n'> < ' else if ($1 ~ /^([.]|)__(libc|pthread)_disable_asynccancel$/ && $2 == "U")\n' > <' seen_disable=1\n'> <'}\n'> <'END {\n'> <' exit ret\n'> <'}'> ) } ) ] negated: F ) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) (C {<shift>}) ] ) ) ] )