#include <iostream>
int openfile(const std::string& name)
{
if (name == "fail") {
return 10;
}
return 0;
}
int handlefiles()
{
int code;
code = openfile("/home/Knjagskij/file1.txt");
if (code != 0) return code;
code = openfile("/etc/passwd");
if (code != 0) return code;
code = openfile("fail"); // Oooops...
if (code != 0) return code;
code = openfile("/etc/hosts");
if (code != 0) return code;
return 0;
}
int main() {
int code = handlefiles();
if (code != 0) {
std::cout << "Unable to open some file because of " << code << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG9wZW5maWxlKGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lKQp7CglpZiAobmFtZSA9PSAiZmFpbCIpIHsKCQlyZXR1cm4gMTA7Cgl9CgkKCXJldHVybiAwOwp9CgppbnQgaGFuZGxlZmlsZXMoKQp7CglpbnQgY29kZTsKCQoJY29kZSA9IG9wZW5maWxlKCIvaG9tZS9LbmphZ3NraWovZmlsZTEudHh0Iik7CglpZiAoY29kZSAhPSAwKSByZXR1cm4gY29kZTsKCWNvZGUgPSBvcGVuZmlsZSgiL2V0Yy9wYXNzd2QiKTsKCWlmIChjb2RlICE9IDApIHJldHVybiBjb2RlOwoJY29kZSA9IG9wZW5maWxlKCJmYWlsIik7IC8vIE9vb29wcy4uLgoJaWYgKGNvZGUgIT0gMCkgcmV0dXJuIGNvZGU7Cgljb2RlID0gb3BlbmZpbGUoIi9ldGMvaG9zdHMiKTsKCWlmIChjb2RlICE9IDApIHJldHVybiBjb2RlOwoJCglyZXR1cm4gMDsKfQoKaW50IG1haW4oKSB7CglpbnQgY29kZSA9IGhhbmRsZWZpbGVzKCk7CglpZiAoY29kZSAhPSAwKSB7CgkJc3RkOjpjb3V0IDw8ICJVbmFibGUgdG8gb3BlbiBzb21lIGZpbGUgYmVjYXVzZSBvZiAiIDw8IGNvZGUgPDwgc3RkOjplbmRsOwoJfQoJcmV0dXJuIDA7Cn0=