5
5
* found in the LICENSE file.
6
6
*/
7
7
8
+ #include <assert.h>
8
9
#include <stdio.h>
10
+ #include <string.h>
9
11
#include <errno.h>
10
12
#include <unistd.h>
11
13
#include <fcntl.h>
@@ -23,90 +25,53 @@ int main() {
23
25
);
24
26
25
27
char buffer [256 ];
28
+
26
29
printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
27
- printf ("errno: %d \n" , errno );
30
+ printf ("errno: %s \n" , strerror ( errno ) );
28
31
errno = 0 ;
29
32
printf ("\n" );
30
33
31
34
printf ("chdir(file): %d\n" , chdir ("/file" ));
32
- printf ("errno: %d\n" , errno );
33
- if (!errno ) {
34
- errno = 0 ;
35
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
36
- printf ("errno: %d\n" , errno );
37
- }
35
+ printf ("errno: %s\n" , strerror (errno ));
36
+ assert (errno != 0 );
38
37
errno = 0 ;
39
38
printf ("\n" );
40
39
41
- printf ("chdir(dir): %d\n" , chdir ("/dir" ));
42
- printf ("errno: %d\n" , errno );
43
- if (!errno ) {
44
- errno = 0 ;
45
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
46
- printf ("errno: %d\n" , errno );
47
- }
48
- errno = 2 ;
49
- printf ("\n" );
50
-
51
40
printf ("chdir(\"\"): %d\n" , chdir ("" ));
52
- printf ("errno: %d\n" , errno );
53
- if (!errno ) {
54
- errno = 0 ;
55
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
56
- printf ("errno: %d\n" , errno );
57
- }
58
- errno = 2 ;
41
+ printf ("errno: %s\n" , strerror (errno ));
42
+ assert (errno != 0 );
43
+ errno = 0 ;
59
44
printf ("\n" );
60
45
61
46
printf ("chdir(device): %d\n" , chdir ("/device" ));
62
- printf ("errno: %d\n" , errno );
63
- if (!errno ) {
64
- errno = 0 ;
65
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
66
- printf ("errno: %d\n" , errno );
67
- }
47
+ printf ("errno: %s\n" , strerror (errno ));
48
+ assert (errno != 0 );
68
49
errno = 0 ;
69
50
printf ("\n" );
70
51
71
52
printf ("chdir(folder): %d\n" , chdir ("/folder" ));
72
- printf ("errno: %d\n" , errno );
73
- if (!errno ) {
74
- errno = 0 ;
75
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
76
- printf ("errno: %d\n" , errno );
77
- }
78
- errno = 0 ;
53
+ printf ("errno: %s\n" , strerror (errno ));
54
+ assert (errno == 0 );
55
+ printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
79
56
printf ("\n" );
80
57
81
58
printf ("chdir(nonexistent): %d\n" , chdir ("/nonexistent" ));
82
- printf ("errno: %d\n" , errno );
83
- if (!errno ) {
84
- errno = 0 ;
85
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
86
- printf ("errno: %d\n" , errno );
87
- }
59
+ printf ("errno: %s\n" , strerror (errno ));
60
+ assert (errno != 0 );
88
61
errno = 0 ;
89
62
printf ("\n" );
90
63
91
64
printf ("chdir(link): %d\n" , chdir ("/link" ));
92
- printf ("errno: %d\n" , errno );
93
- if (!errno ) {
94
- errno = 0 ;
95
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
96
- printf ("errno: %d\n" , errno );
97
- }
98
- errno = 0 ;
65
+ printf ("errno: %s\n" , strerror (errno ));
66
+ assert (errno == 0 );
67
+ printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
99
68
printf ("\n" );
100
69
101
70
errno = 0 ;
102
71
printf ("fchdir(/): %d\n" , fchdir (open ("/" , O_RDONLY , 0777 )));
103
- printf ("errno: %d\n" , errno );
104
- if (!errno ) {
105
- errno = 0 ;
106
- printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
107
- printf ("errno: %d\n" , errno );
108
- errno = 0 ;
109
- }
72
+ printf ("errno: %s\n" , strerror (errno ));
73
+ assert (errno == 0 );
74
+ printf ("getcwd: %s\n" , getcwd (buffer , 256 ));
110
75
111
76
return 0 ;
112
77
}
0 commit comments