X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dbus%2Fdbus-pipe-win.c;h=9c7c25708fb1965ee9a7a56e8238b4a0b823bbca;hb=bb8dd7fec5389db4df9b5e8863974149e8a650dc;hp=f734518c81cb9d52b4cd6cf2767eea9ac7c18ad6;hpb=87d324c3434b03214d82c6fc30cb7a6a754318ab;p=platform%2Fupstream%2Fdbus.git diff --git a/dbus/dbus-pipe-win.c b/dbus/dbus-pipe-win.c index f734518..9c7c257 100644 --- a/dbus/dbus-pipe-win.c +++ b/dbus/dbus-pipe-win.c @@ -29,6 +29,7 @@ #include "dbus-pipe.h" #include +#include /** * write data to a pipe. @@ -47,19 +48,18 @@ _dbus_pipe_write (DBusPipe *pipe, int len, DBusError *error) { - DWORD written; - BOOL res; - const char *buffer_c = _dbus_string_get_const_data (buffer); + int written; - res = WriteFile ((HANDLE) pipe->fd_or_handle, buffer_c + start, len, &written, NULL); - if (res == 0 || written < 0) - { - dbus_set_error (error, DBUS_ERROR_FAILED, - "Writing to pipe: %s\n", - _dbus_strerror_from_errno ()); - } - return written; + written = _write (pipe->fd, buffer_c + start, len); + + if (written >= 0) + return written; + + dbus_set_error (error, _dbus_error_from_system_errno (), + "Writing to pipe: %s", + _dbus_strerror_from_errno ()); + return -1; } /** @@ -75,10 +75,10 @@ _dbus_pipe_close (DBusPipe *pipe, { _DBUS_ASSERT_ERROR_IS_CLEAR (error); - if (CloseHandle ((HANDLE) pipe->fd_or_handle) == 0) + if (_close (pipe->fd) != 0) { dbus_set_error (error, _dbus_error_from_system_errno (), - "Could not close pipe %d: %s", pipe->fd_or_handle, + "Could not close pipe fd %d: %s", pipe->fd, _dbus_strerror_from_errno ()); return -1; }