@@ -67,13 +67,15 @@ main(void)
6767#if VERBOSE
6868 ", [\"%s\", \"%s\", %p, %p, %p, ???]"
6969#else
70- ", [ /* 5 vars, unterminated */] "
70+ ", % p /* 5 vars, unterminated */ "
7171#endif
7272 " , AT_SYMLINK_NOFOLLOW |AT_EMPTY_PATH ) = -1 %s (%m )\n ",
7373 Q_FILENAME , q_argv [0 ], q_argv [1 ], q_argv [2 ],
7474 argv [3 ], argv [4 ], argv [5 ],
7575#if VERBOSE
7676 q_envp [0 ], q_envp [1 ], envp [2 ], envp [3 ], envp [4 ],
77+ #else
78+ tail_envp ,
7779#endif
7880 errno2name ());
7981
@@ -85,12 +87,14 @@ main(void)
8587#if VERBOSE
8688 ", [\"%s\", \"%s\"]"
8789#else
88- ", [ /* 2 vars */] "
90+ ", % p /* 2 vars */ "
8991#endif
9092 " , AT_SYMLINK_NOFOLLOW |AT_EMPTY_PATH ) = -1 %s (%m )\n ",
9193 Q_FILENAME , q_argv [0 ], q_argv [1 ], q_argv [2 ],
9294#if VERBOSE
9395 q_envp [0 ], q_envp [1 ],
96+ #else
97+ tail_envp ,
9498#endif
9599 errno2name ());
96100
@@ -99,12 +103,14 @@ main(void)
99103#if VERBOSE
100104 ", [\"%s\"]"
101105#else
102- ", [ /* 1 var */] "
106+ ", % p /* 1 var */ "
103107#endif
104108 " , AT_SYMLINK_NOFOLLOW |AT_EMPTY_PATH ) = -1 %s (%m )\n ",
105109 Q_FILENAME , q_argv [2 ],
106110#if VERBOSE
107111 q_envp [1 ],
112+ #else
113+ tail_envp + 1 ,
108114#endif
109115 errno2name ());
110116
@@ -117,10 +123,14 @@ main(void)
117123#if VERBOSE
118124 ", []"
119125#else
120- ", [ /* 0 vars */] "
126+ ", % p /* 0 vars */ "
121127#endif
122128 " , AT_SYMLINK_NOFOLLOW |AT_EMPTY_PATH ) = -1 %s (%m )\n ",
123- Q_FILENAME , errno2name ());
129+ Q_FILENAME ,
130+ #if !VERBOSE
131+ empty ,
132+ #endif
133+ errno2name ());
124134
125135 char str_a [] = "012345678901234567890123456789012" ;
126136 char str_b [] = "_abcdefghijklmnopqrstuvwxyz()[]{}" ;
@@ -147,10 +157,11 @@ main(void)
147157 printf ("], [\"%.*s\"..." , DEFAULT_STRLEN , b [0 ]);
148158 for (i = 1 ; i <= DEFAULT_STRLEN ; ++ i )
149159 printf (", \"%s\"" , b [i ]);
160+ printf ("]" );
150161#else
151- printf ("], [ /* %u vars */" , DEFAULT_STRLEN + 1 );
162+ printf ("], %p /* %u vars */" , b , DEFAULT_STRLEN + 1 );
152163#endif
153- printf ("] , AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n" ,
164+ printf (", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n" ,
154165 errno2name ());
155166
156167 syscall (__NR_execveat , -100 , FILENAME , a + 1 , b + 1 , 0x1100 );
@@ -161,10 +172,11 @@ main(void)
161172 printf ("], [\"%s\"" , b [1 ]);
162173 for (i = 2 ; i <= DEFAULT_STRLEN ; ++ i )
163174 printf (", \"%s\"" , b [i ]);
175+ printf ("]" );
164176#else
165- printf ("], [ /* %d vars */" , DEFAULT_STRLEN );
177+ printf ("], %p /* %d vars */" , b + 1 , DEFAULT_STRLEN );
166178#endif
167- printf ("] , AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n" ,
179+ printf (", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n" ,
168180 errno2name ());
169181
170182 syscall (__NR_execveat , -100 , FILENAME , NULL , efault , 0x1100 );
0 commit comments