Fix "unused result" warnings for several system calls.

This commit is contained in:
Frank LENORMAND 2015-12-10 11:00:10 +03:00
parent 2ca1784495
commit df31b88187
3 changed files with 11 additions and 4 deletions

View File

@ -100,7 +100,9 @@ String compact_path(StringView filename)
String real_filename = real_path(filename); String real_filename = real_path(filename);
char cwd[1024]; char cwd[1024];
getcwd(cwd, 1024); if (!::getcwd(cwd, 1024))
throw runtime_error(format("unable to get the current working directory (errno: {})", ::strerror(errno)));
String real_cwd = real_path(cwd) + "/"; String real_cwd = real_path(cwd) + "/";
if (prefix_match(real_filename, real_cwd)) if (prefix_match(real_filename, real_cwd))
return real_filename.substr(real_cwd.length()).str(); return real_filename.substr(real_cwd.length()).str();
@ -223,7 +225,8 @@ void write_buffer_to_fd(Buffer& buffer, int fd)
eoldata = "\n"; eoldata = "\n";
if (buffer.options()["BOM"].get<ByteOrderMark>() == ByteOrderMark::Utf8) if (buffer.options()["BOM"].get<ByteOrderMark>() == ByteOrderMark::Utf8)
::write(fd, "\xEF\xBB\xBF", 3); if (::write(fd, "\xEF\xBB\xBF", 3) < 0)
throw runtime_error(format("unable to write data to the buffer (fd: {}; errno: {})", fd, ::strerror(errno)));
for (LineCount i = 0; i < buffer.line_count(); ++i) for (LineCount i = 0; i < buffer.line_count(); ++i)
{ {

View File

@ -532,7 +532,8 @@ void RemoteClient::write_next_key()
void send_command(StringView session, StringView command) void send_command(StringView session, StringView command)
{ {
int sock = connect_to(session); int sock = connect_to(session);
::write(sock, command.data(), (int)command.length()); if (::write(sock, command.data(), (int)command.length()) < 0)
throw runtime_error(format("unable to write data to socket (fd: {}; errno: {})", sock, ::strerror(errno)));
close(sock); close(sock);
} }

View File

@ -29,7 +29,10 @@ namespace
struct Pipe struct Pipe
{ {
Pipe() { ::pipe(m_fd); } Pipe() {
if (::pipe(m_fd) < 0)
throw runtime_error(format("unable to create pipe (fds: {}/{}; errno: {})", m_fd[0], m_fd[1], ::strerror(errno)));
}
~Pipe() { close_read_fd(); close_write_fd(); } ~Pipe() { close_read_fd(); close_write_fd(); }
int read_fd() const { return m_fd[0]; } int read_fd() const { return m_fd[0]; }