| 22 | } |
| 23 | |
| 24 | void vwarn(const char* fmt, va_list args) { |
| 25 | int curErrNo = errno; |
| 26 | auto curErrText = LastSystemErrorText(); |
| 27 | |
| 28 | Y_DEFER { |
| 29 | errno = curErrNo; |
| 30 | }; |
| 31 | |
| 32 | Cerr << GetProgramName() << ": "; |
| 33 | |
| 34 | if (fmt) { |
| 35 | Printf(Cerr, fmt, args); |
| 36 | Cerr << ": "; |
| 37 | } |
| 38 | |
| 39 | Cerr << curErrText << '\n'; |
| 40 | } |
| 41 | |
| 42 | void warn(const char* fmt, ...) { |
| 43 | va_list args; |
no test coverage detected