(command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$VERBOSE'))}) (C {(Id.KW_Set set)} {(-x)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_ACL'))} {(Id.Lit_Equals '=')} {(0)}) (command.BraceGroup children: [ (C {(echo)} {(DQ ('Skipping test: insufficient ACL support'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:45) arg_word: {(77)} ) ] ) ] ) (command.ShFunction name: func_tmpdir body: (command.BraceGroup children: [ (C {(Id.Lit_Other ':')} { (braced_var_sub token: (Token id:Id.VSub_Name val:TMPDIR span_id:88) suffix_op: (suffix_op.Unary op_id:Id.VTest_Equals arg_word:{(Id.Lit_Slash /) (tmp)}) ) } ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:107) command_list: (command.CommandList children: [ (command.Subshell command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(umask)} {(077)}) (C {(mktemp)} {(-d)} { (DQ ($ Id.VSub_DollarName '$TMPDIR') (/glXXXXXX) ) } ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:127) fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ) } spids: [106] ) ] ) (C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$tmp'))}) (C {(test)} {(-d)} {(DQ ($ Id.VSub_DollarName '$tmp'))}) ] ) ] ) (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$TMPDIR') (/gl) ($ Id.VSub_Dollar '$$') (-) ($ Id.VSub_DollarName '$RANDOM') } spids: [181] ) ] ) (command.Subshell command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(umask)} {(077)}) (C {(mkdir)} {(DQ ($ Id.VSub_DollarName '$tmp'))}) ] ) ] ) ) ] ) (command.BraceGroup children: [ (command.Simple words: [ {(echo)} { (DQ ($ Id.VSub_Number '$0') (': cannot create a temporary directory in ') ($ Id.VSub_DollarName '$TMPDIR') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:220) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:224) arg_word: {(1)} ) ] ) ] ) ] ) ) (C {(func_tmpdir)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:builddir) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:237) command_list: (command.CommandList children:[(C {(pwd)})]) ) } spids: [236] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cd)} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (command.BraceGroup children: [ (command.Simple words: [ {(echo)} { (DQ ($ Id.VSub_Number '$0') (': cannot determine build directory (unreadable parent dir?)') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:262) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:266) arg_word: {(1)} ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Subshell command_list: (command.CommandList children: [ (C {(cd)} {(DQ ($ Id.VSub_DollarName '$tmp'))}) (C {(rm)} {(-f)} {(Id.Lit_ArrayLhsOpen 'tmpfile[') (0-9) (Id.Lit_RBracket ']')} {(Id.Lit_ArrayLhsOpen 'tmpaclout[') (0-2) (Id.Lit_RBracket ']')} ) (command.Simple words: [{(echo)} {(DQ ('Simple contents'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:315) fd: -1 arg_word: {(tmpfile0)} ) ] ) (C {(chmod)} {(600)} {(tmpfile0)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(none)} spids: [348] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(getfacl)} {(tmpfile0)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:359) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:363) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:365) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(setfacl)} {(--help)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:385) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:389) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:391) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(setfacl)} {(--help)}] more_env: [ (env_pair name: LC_ALL val: {(C)} spids: [403] ) ] ) (command.Simple words: [ {(grep)} { (SQ (Token id: Id.Lit_Chars val: ' --set-file' span_id: 415 ) ) } ] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '>' span_id: 418 ) fd: -1 arg_word: {(/dev/null)} ) ] ) ] negated: F ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:422) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:424) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(linux)} spids: [433] ) ] ) ] spids: [400 426] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(cygwin)} spids: [440] ) ] ) ] ) ] spids: [378 393] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(setfacl)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_GreatAnd val: '2>&' span_id: 462 ) fd: 2 arg_word: {(1)} ) ] more_env: [ (env_pair name: LC_ALL val: {(C)} spids: [457] ) ] ) (command.Simple words: [ {(grep)} { (SQ (Token id: Id.Lit_Chars val: '\\-x entries' span_id: 470 ) ) } ] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '>' span_id: 473 ) fd: -1 arg_word: {(/dev/null)} ) ] ) ] negated: F ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:477) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:479) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(freebsd)} spids: [488] ) ] ) ] spids: [454 481] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(solaris)} spids: [499] ) ] ) ] ) ] ) ] spids: [352 367] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(lsacl)} {(/)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:519) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:523) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:525) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(getacl)} {(tmpfile0)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '>' span_id: 545 ) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:549) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:551) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(hpuxjfs)} spids: [560] ) ] ) ] spids: [538 553] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(hpux)} spids: [571] ) ] ) ] ) ] spids: [512 527] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(getacl)} {(tmpfile0)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:588) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:592) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:594) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(getacl)} {(-m)} {(tmpfile0)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '>' span_id: 612 ) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:616) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:618) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(osf1)} spids: [627] ) ] ) ] spids: [603 620] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(nsk)} spids: [638] ) ] ) ] ) ] spids: [581 596] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(aclget)} {(tmpfile0)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '>' span_id: 655 ) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:659) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:661) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(aix)} spids: [670] ) ] ) ] spids: [648 663] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [{(fsaclctl)} {(-v)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '>' span_id: 684 ) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:688) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:690) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(macosx)} spids: [699] ) ] ) ] spids: [677 692] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-f)} {(/sbin/chacl)}) terminator: (Token id:Id.Op_Semi val:';' span_id:713) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl_flavor) op: assign_op.Equal rhs: {(irix)} spids: [722] ) ] ) ] spids: [706 715] ) ] ) ] ) ] ) ] ) ] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(linux)} {(cygwin)} {(freebsd)} {(solaris)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(getfacl)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:807) fd: -1 arg_word: {(tmpaclout1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(getfacl)} {(DQ ($ Id.VSub_Number '$2'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:830) fd: -1 arg_word: {(tmpaclout2)} ) ] ) ] negated: F ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:841) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ) ] spids: [764 777 849 -1] ) (case_arm pat_list: [{(hpux)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(lsacl)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:883) fd: -1 arg_word: {(tmpaclout1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(lsacl)} {(DQ ($ Id.VSub_Number '$2'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:906) fd: -1 arg_word: {(tmpaclout2)} ) ] ) ] negated: F ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:917) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ) ] spids: [852 853 925 -1] ) (case_arm pat_list: [{(hpuxjfs)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.BraceGroup children: [ (command.Pipeline children: [ (C {(lsacl)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:961) fd: -1 arg_word: {(tmpaclout1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(lsacl)} {(DQ ($ Id.VSub_Number '$2'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:984) fd: -1 arg_word: {(tmpaclout2)} ) ] ) ] negated: F ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:995) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) (command.BraceGroup children: [ (command.Pipeline children: [ (C {(getacl)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1025) fd: -1 arg_word: {(tmpaclout1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(getacl)} {(DQ ($ Id.VSub_Number '$2'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1048) fd: -1 arg_word: {(tmpaclout2)} ) ] ) ] negated: F ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1059) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ] ) ] ) ) ] spids: [928 929 1070 -1] ) (case_arm pat_list: [{(osf1)} {(nsk)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(getacl)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1108) fd: -1 arg_word: {(tmpaclout1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(getacl)} {(DQ ($ Id.VSub_Number '$2'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1131) fd: -1 arg_word: {(tmpaclout2)} ) ] ) ] negated: F ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1142) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ) ] spids: [1073 1078 1150 -1] ) (case_arm pat_list: [{(aix)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children: [ (command.Simple words: [{(aclget)} {(DQ ($ Id.VSub_Number '$1'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1172) fd: -1 arg_word: {(tmpaclout1)} ) ] ) (command.Simple words: [{(aclget)} {(DQ ($ Id.VSub_Number '$2'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1183) fd: -1 arg_word: {(tmpaclout2)} ) ] ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1194) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ) ] spids: [1153 1154 1202 -1] ) (case_arm pat_list: [{(macosx)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(/bin/ls)} {(-le)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1238) fd: -1 arg_word: {(tmpaclout1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(/bin/ls)} {(-le)} {(DQ ($ Id.VSub_Number '$2'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1263) fd: -1 arg_word: {(tmpaclout2)} ) ] ) ] negated: F ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1274) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ) ] spids: [1205 1206 1282 -1] ) (case_arm pat_list: [{(irix)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(/bin/ls)} {(-lD)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1318) fd: -1 arg_word: {(tmpaclout1)} ) ] ) ] negated: F ) (command.Pipeline children: [ (C {(/bin/ls)} {(-lD)} {(DQ ($ Id.VSub_Number '$2'))}) (command.Simple words: [ {(sed)} {(-e)} {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1343) fd: -1 arg_word: {(tmpaclout2)} ) ] ) ] negated: F ) (command.Simple words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1354) fd: -1 arg_word: {(/dev/null)} ) ] ) ] ) ) ] spids: [1285 1286 1362 -1] ) (case_arm pat_list: [{(none)}] action: [ (command.ShFunction name: func_test_same_acls body: (command.BraceGroup children:[(C {(Id.Lit_Other ':')})]) ) ] spids: [1365 1366 1384 -1] ) ] ) (command.ShFunction name: func_test_copy body: (command.BraceGroup children: [ (command.Simple words: [{(echo)} {(DQ ('Simple contents'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1418) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$2'))} ) ] ) (C {(chmod)} {(600)} {(DQ ($ Id.VSub_Number '$2'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(DQ ($ Id.VSub_DollarName '$builddir')) (/test-copy-acl) (${ Id.VSub_Name EXEEXT) } {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:1452) arg_word: {(1)} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(DQ ($ Id.VSub_DollarName '$builddir')) (/test-sameacls) (${ Id.VSub_Name EXEEXT) } {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:1475) arg_word: {(1)} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(func_test_same_acls)} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:1492) arg_word: {(1)} ) ] ) ] ) ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile1)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ Id.VSub_DollarName '$acl_flavor')} {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(none)} ) terminator: (Token id:Id.Op_Semi val:';' span_id:1519) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-f)} {(/usr/xpg4/bin/id)}) terminator: (Token id:Id.Op_Semi val:';' span_id:1535) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ID) op: assign_op.Equal rhs: {(/usr/xpg4/bin/id)} spids: [1540] ) ] ) ] spids: [1528 1537] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ID) op: assign_op.Equal rhs: {(id)} spids: [1547] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:myuid) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1563) command_list: (command.CommandList children: [(C {($ Id.VSub_DollarName '$ID')} {(-u)})] ) ) } spids: [1562] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mygid) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1573) command_list: (command.CommandList children: [(C {($ Id.VSub_DollarName '$ID')} {(-g)})] ) ) } spids: [1572] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:auid) op: assign_op.Equal rhs: {(1)} spids: [1582] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$auid'))} {(Id.Lit_Equals '=')} {(DQ ($ Id.VSub_DollarName '$myuid'))} ) terminator: (Token id:Id.Op_Semi val:';' span_id:1599) ) ] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:auid) op: assign_op.Equal rhs: {(2)} spids: [1603] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:1605) ) ] spids: [1586 1601] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:agid) op: assign_op.Equal rhs: {(1)} spids: [1610] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$agid'))} {(Id.Lit_Equals '=')} {(DQ ($ Id.VSub_DollarName '$mygid'))} ) terminator: (Token id:Id.Op_Semi val:';' span_id:1627) ) ] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:agid) op: assign_op.Equal rhs: {(2)} spids: [1631] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:1633) ) ] spids: [1614 1629] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(linux)} {(freebsd)} {(solaris)}] action: [ (C {(setfacl)} {(-m)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (C {(setfacl)} {(-m)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (4) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(freebsd)}] action: [ (C {(setfacl)} {(-m)} {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} {(tmpfile0)} ) ] spids: [1722 1723 1736 -1] ) (case_arm pat_list: [{(solaris)}] action: [(C {(chmod)} {(o) (Id.Lit_Other '+') (r)} {(tmpfile0)})] spids: [1739 1740 1750 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(setfacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)} ) ] spids: [1753 1754 1766 -1] ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(linux)}] action: [ (C {(setfacl)} {(-x)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid')} {(tmpfile0)} ) ] spids: [1792 1793 1805 -1] ) (case_arm pat_list: [{(freebsd)}] action: [ (C {(setfacl)} {(-x)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) ] spids: [1808 1809 1823 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(setfacl)} {(-d)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) ] spids: [1826 1827 1841 -1] ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(linux)} {(solaris)}] spids: [1867 1872 1874 -1] ) (case_arm pat_list: [{(freebsd)}] action: [ (C {(setfacl)} {(-x)} {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} {(tmpfile0)} ) ] spids: [1880 1881 1894 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(setfacl)} {(-d)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)} ) ] spids: [1897 1898 1910 -1] ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)}) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(linux)}] action: [ (C {(setfacl)} {(-x)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid')} {(tmpfile0)} ) ] spids: [1936 1937 1949 -1] ) (case_arm pat_list: [{(freebsd)}] action: [ (C {(setfacl)} {(-x)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (4) } {(tmpfile0)} ) ] spids: [1952 1953 1967 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(setfacl)} {(-d)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (4) } {(tmpfile0)} ) ] spids: [1970 1971 1985 -1] ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)}) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(linux)} {(freebsd)}] action: [ (C {(setfacl)} {(-m)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(setfacl)} {(-b)} {(tmpfile0)}) ] spids: [2011 2016 2039 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(setfacl)} {(-s)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0) } {(tmpfile0)} ) ] spids: [2042 2043 2066 -1] ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2087) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.Case to_match: {($ Id.VSub_DollarName '$acl_flavor')} arms: [ (case_arm pat_list: [{(linux)}] action: [ (command.Pipeline children: [ (C {(getfacl)} {(tmpfile9)}) (C {(setfacl)} {(--set-file) (Id.Lit_Equals '=') (-)} {(tmpfile0)} ) ] negated: F ) ] spids: [2108 2109 2125 -1] ) (case_arm pat_list: [{(freebsd)}] spids: [2128 2129 2131 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.Pipeline children: [ (C {(getfacl)} {(tmpfile9)}) (C {(setfacl)} {(-f)} {(-)} {(tmpfile0)}) ] negated: F ) ] spids: [2134 2135 2151 -1] ) ] ) (C {(rm)} {(-f)} {(tmpfile9)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [1646 1655 2173 -1] ) (case_arm pat_list: [{(cygwin)}] action: [ (C {(setfacl)} {(-m)} {(group) (Id.Lit_Other ':') (0) (Id.Lit_Other ':') (1)} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (C {(setfacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (C {(setfacl)} {(-d)} {(group) (Id.Lit_Other ':') (0)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (C {(setfacl)} {(-d)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)}) (C {(setfacl)} {(-s)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2320) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.Pipeline children: [ (C {(getfacl)} {(tmpfile9)}) (C {(setfacl)} {(-f)} {(-)} {(tmpfile0)}) ] negated: F ) (C {(rm)} {(-f)} {(tmpfile9)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [2177 2178 2365 -1] ) (case_arm pat_list: [{(hpux)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 2379 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile0$//' span_id: 2393 ) ) } ) ] negated: F ) ] ) ) } spids: [2378] ) ] ) (C {(chacl)} {(-r)} { (DQ (${ Id.VSub_Name orig) ('(') ($ Id.VSub_DollarName '$auid') ('.%,--x)') ) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 2428 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile0$//' span_id: 2442 ) ) } ) ] negated: F ) ] ) ) } spids: [2427] ) ] ) (C {(chacl)} {(-r)} { (DQ (${ Id.VSub_Name orig) ('(%.') ($ Id.VSub_DollarName '$agid') (',r--)') ) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 2477 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile0$//' span_id: 2491 ) ) } ) ] negated: F ) ] ) ) } spids: [2476] ) ] ) (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig) ('(%.%,r--)'))} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (C {(chacl)} {(-d)} {(DQ ('(') ($ Id.VSub_DollarName '$auid') ('.%,--x)'))} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (C {(chacl)} {(-d)} {(DQ ('(%.') ($ Id.VSub_DollarName '$agid') (',r--)'))} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)}) (C {(chacl)} {(-z)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2597) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 2612 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile9)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile9$//' span_id: 2626 ) ) } ) ] negated: F ) ] ) ) } spids: [2611] ) ] ) (C {(rm)} {(-f)} {(tmpfile9)}) (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig))} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [2369 2370 2660 -1] ) (case_arm pat_list: [{(hpuxjfs)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 2674 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile0$//' span_id: 2688 ) ) } ) ] negated: F ) ] ) ) } spids: [2673] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chacl)} {(-r)} { (DQ (${ Id.VSub_Name orig) ('(') ($ Id.VSub_DollarName '$auid') ('.%,--x)') ) } {(tmpfile0)} ) (C {(setacl)} {(-m)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 2739 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile0$//' span_id: 2753 ) ) } ) ] negated: F ) ] ) ) } spids: [2738] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chacl)} {(-r)} { (DQ (${ Id.VSub_Name orig) ('(%.') ($ Id.VSub_DollarName '$agid') (',r--)') ) } {(tmpfile0)} ) (C {(setacl)} {(-m)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (4) } {(tmpfile0)} ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 2804 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile0$//' span_id: 2818 ) ) } ) ] negated: F ) ] ) ) } spids: [2803] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig) ('(%.%,r--)'))} {(tmpfile0)} ) (C {(setacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)}) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chacl)} {(-d)} {(DQ ('(') ($ Id.VSub_DollarName '$auid') ('.%,--x)'))} {(tmpfile0)} ) (C {(setacl)} {(-d)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid')} {(tmpfile0)} ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chacl)} {(-d)} {(DQ ('(%.') ($ Id.VSub_DollarName '$agid') (',r--)'))} {(tmpfile0)} ) (C {(setacl)} {(-d)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid')} {(tmpfile0)} ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chacl)} {(-z)} {(tmpfile0)}) (command.BraceGroup children: [ (C {(setacl)} {(-m)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(setacl)} {(-s)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (class) (Id.Lit_Other ':') (7) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0) } {(tmpfile0)} ) ] ) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:3012) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig) op: assign_op.Equal rhs: { (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 3027 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(lsacl)} {(tmpfile9)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/ tmpfile9$//' span_id: 3041 ) ) } ) ] negated: F ) ] ) ) } spids: [3026] ) ] ) (command.Simple words: [{(getacl)} {(tmpfile9)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:3050) fd: -1 arg_word: {(tmpaclout0)} ) ] ) (C {(rm)} {(-f)} {(tmpfile9)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig))} {(tmpfile0)}) (C {(setacl)} {(-f)} {(tmpaclout0)} {(tmpfile0)}) ] ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [2664 2665 3096 -1] ) (case_arm pat_list: [{(osf1)}] action: [ (C {(setacl)} {(-u)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (C {(setacl)} {(-u)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (4) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (C {(setacl)} {(-u)} {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (C {(setacl)} {(-x)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(false)}) terminator: (Token id:Id.Op_Semi val:';' span_id:3211) ) ] action: [ (C {(setacl)} {(-x)} {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)}) ] spids: [3208 3213] ) ] ) (C {(setacl)} {(-x)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (4) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)}) (C {(setacl)} {(-u)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(setacl)} {(-b)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:3312) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.Simple words: [{(getacl)} {(tmpfile9)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:3330) fd: -1 arg_word: {(tmpaclout0)} ) ] ) (C {(setacl)} {(-b)} {(-U)} {(tmpaclout0)} {(tmpfile0)}) (C {(rm)} {(-f)} {(tmpfile9)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [3100 3101 3362 -1] ) (case_arm pat_list: [{(nsk)}] action: [ (C {(setacl)} {(-m)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (C {(setacl)} {(-m)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (4) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (C {(setacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (C {(setacl)} {(-d)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid')} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (C {(setacl)} {(-d)} {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid')} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)}) (C {(setacl)} {(-m)} {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (1) } {(tmpfile0)} ) (C {(setacl)} {(-s)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (class) (Id.Lit_Other ':') (7) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:3552) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.Simple words: [{(getacl)} {(tmpfile9)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:3570) fd: -1 arg_word: {(tmpaclout0)} ) ] ) (C {(setacl)} {(-f)} {(tmpaclout0)} {(tmpfile0)}) (C {(rm)} {(-f)} {(tmpfile9)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [3366 3367 3600 -1] ) (case_arm pat_list: [{(aix)}] action: [ (command.Pipeline children: [ (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (C {(aclget)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/disabled$/enabled/' span_id: 3626 ) ) } ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:3628) ) (command.Sentence child: (C {(echo)} { (DQ (' permit --x u:') ($ Id.VSub_DollarName '$auid') ) } ) terminator: (Token id:Id.Op_Semi val:';' span_id:3636) ) ] ) (C {(aclput)} {(tmpfile0)}) ] negated: F ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (command.Pipeline children: [ (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (C {(aclget)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/disabled$/enabled/' span_id: 3673 ) ) } ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:3675) ) (command.Sentence child: (C {(echo)} { (DQ (' permit r-- g:') ($ Id.VSub_DollarName '$agid') ) } ) terminator: (Token id:Id.Op_Semi val:';' span_id:3683) ) ] ) (C {(aclput)} {(tmpfile0)}) ] negated: F ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (C {(chmod)} {(o) (Id.Lit_Other '+') (r)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (command.Pipeline children: [ (C {(aclget)} {(tmpfile0)}) (C {(grep)} {(-v)} {(SQ (Token id:Id.Lit_Chars val:' u:[^ ]*$' span_id:3740))} ) (C {(aclput)} {(tmpfile0)}) ] negated: F ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (command.Pipeline children: [ (C {(aclget)} {(tmpfile0)}) (C {(grep)} {(-v)} {(SQ (Token id:Id.Lit_Chars val:' g:[^ ]*$' span_id:3774))} ) (C {(aclput)} {(tmpfile0)}) ] negated: F ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)}) (command.Pipeline children: [ (C {(aclget)} {(tmpfile0)}) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/enabled$/disabled/' span_id: 3808 ) ) } ) (C {(sed)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/disabled$/q' span_id:3818))} ) (C {(aclput)} {(tmpfile0)}) ] negated: F ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:3843) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.Pipeline children: [(C {(aclget)} {(tmpfile9)}) (C {(aclput)} {(tmpfile0)})] negated: F ) (C {(rm)} {(-f)} {(tmpfile9)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [3604 3605 3884 -1] ) (case_arm pat_list: [{(macosx)}] action: [ (C {(/bin/chmod)} {(Id.Lit_Other '+') (a)} {(DQ ('user:daemon allow execute'))} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (C {(/bin/chmod)} {(Id.Lit_Other '+') (a)} {(DQ ('group:daemon allow read'))} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (C {(chmod)} {(o) (Id.Lit_Other '+') (r)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (C {(/bin/chmod)} {(-a)} {(DQ ('user:daemon allow execute'))} {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (C {(/bin/chmod)} {(-a)} {(DQ ('group:daemon allow read'))} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)}) (C {(/bin/chmod)} {(-N)} {(tmpfile0)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)}) (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:4039) fd: -1 arg_word: {(tmpfile9)} ) ] ) (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)}) (command.Pipeline children: [ (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (C {(/bin/ls)} {(-le)} {(tmpfile9)}) (C {(sed)} {(-n)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/^ [0-9][0-9]*: //p' span_id: 4070 ) ) } ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:4072) ) (command.Sentence child: (C {(echo)}) terminator: (Token id:Id.Op_Semi val:';' span_id:4075) ) ] ) (C {(/bin/chmod)} {(-E)} {(tmpfile0)}) ] negated: F ) (C {(rm)} {(-f)} {(tmpfile9)}) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)}) ] spids: [3888 3889 4104 -1] ) (case_arm pat_list: [{(irix)}] action: [ (C {(/sbin/chacl)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (--x) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)}) (C {(/sbin/chacl)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (--x) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (r--) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)}) (C {(/sbin/chacl)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (--x) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (r--) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (Id.Lit_Other ':') (r--) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)}) (C {(/sbin/chacl)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (r--) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (Id.Lit_Other ':') (r--) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)}) (C {(/sbin/chacl)} {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (Id.Lit_Other ':') (r--) } {(tmpfile0)} ) (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)}) ] spids: [4108 4109 4314 -1] ) ] ) ] spids: [1509 1521] ) ] ) (C {(rm)} {(-f)} {(Id.Lit_ArrayLhsOpen 'tmpfile[') (0-9) (Id.Lit_RBracket ']')} {(Id.Lit_ArrayLhsOpen 'tmpaclout[') (0-2) (Id.Lit_RBracket ']')} ) ] ) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:4341) arg_word: {(1)} ) ] ) (C {(rm)} {(-rf)} {(DQ ($ Id.VSub_DollarName '$tmp'))}) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:4354) arg_word:{(0)}) ] )