@@ -23,7 +23,9 @@ std::error_code llvm::disableAutoConversion(int FD) {
23
23
0 , // pccsid
24
24
(short )FT_BINARY, // fccsid
25
25
};
26
- return fcntl (FD, F_CONTROL_CVT, &Convert);
26
+ if (fcntl (FD, F_CONTROL_CVT, &Convert) == -1 )
27
+ return std::error_code (errno, std::generic_category ());
28
+ return std::error_code ();
27
29
}
28
30
29
31
std::error_code llvm::enableAutoConversion (int FD) {
@@ -34,7 +36,7 @@ std::error_code llvm::enableAutoConversion(int FD) {
34
36
};
35
37
36
38
if (fcntl (FD, F_CONTROL_CVT, &Query) == -1 )
37
- return - 1 ;
39
+ return std::error_code (errno, std::generic_category ()) ;
38
40
39
41
Query.cvtcmd = SETCVTALL;
40
42
Query.pccsid =
@@ -43,7 +45,9 @@ std::error_code llvm::enableAutoConversion(int FD) {
43
45
: CCSID_UTF_8;
44
46
// Assume untagged files to be IBM-1047 encoded.
45
47
Query.fccsid = (Query.fccsid == FT_UNTAGGED) ? CCSID_IBM_1047 : Query.fccsid ;
46
- return fcntl (FD, F_CONTROL_CVT, &Query);
48
+ if (fcntl (FD, F_CONTROL_CVT, &Query) == -1 )
49
+ return std::error_code (errno, std::generic_category ());
50
+ return std::error_code ();
47
51
}
48
52
49
53
std::error_code llvm::setFileTag (int FD, int CCSID, bool Text) {
@@ -55,7 +59,9 @@ std::error_code llvm::setFileTag(int FD, int CCSID, bool Text) {
55
59
Tag.ft_deferred = 0 ;
56
60
Tag.ft_rsvflags = 0 ;
57
61
58
- return fcntl (FD, F_SETTAG, &Tag);
62
+ if (fcntl (FD, F_SETTAG, &Tag) == -1 )
63
+ return std::error_code (errno, std::generic_category ());
64
+ return std::error_code ();
59
65
}
60
66
61
67
#endif // __MVS__
0 commit comments