733 |
733 |
734 ssize_t net_printf(SYS_NETFD fd, char *format, ...) { |
734 ssize_t net_printf(SYS_NETFD fd, char *format, ...) { |
735 va_list arg; |
735 va_list arg; |
736 va_start(arg, format); |
736 va_start(arg, format); |
737 sstr_t buf = ucx_vasprintf(ucx_default_allocator(), format, arg); |
737 sstr_t buf = ucx_vasprintf(ucx_default_allocator(), format, arg); |
738 ssize_t r = net_write(fd, buf.ptr, buf.length); |
738 ssize_t r = buf.length > 0 ? net_write(fd, buf.ptr, buf.length) : 0; |
739 free(buf.ptr); |
739 free(buf.ptr); |
740 va_end(arg); |
740 va_end(arg); |
741 if(r < 0) { |
741 if(r < 0) { |
742 ((IOStream*)fd)->io_errno = errno; |
742 ((IOStream*)fd)->io_errno = errno; |
743 } |
743 } |