2007-08-22 Marcus Brinkmann <marcus@g10code.de>

* w32-io.c (_gpgme_io_write): Return early if COUNT is zero.
	(writer): Remove superfluous check.
This commit is contained in:
Marcus Brinkmann 2007-08-22 17:29:41 +00:00
parent 597e0283e2
commit c9dc982ce3
2 changed files with 23 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2007-08-22 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (_gpgme_io_write): Return early if COUNT is zero.
(writer): Remove superfluous check.
2007-08-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: Move include of gpg-error.h out of extern "C".

View File

@ -531,20 +531,22 @@ writer (void *arg)
UNLOCK (ctx->mutex);
TRACE_LOG1 ("writing %d bytes", ctx->nbytes);
if (ctx->nbytes
&& !WriteFile (ctx->file_hd, ctx->buffer,
ctx->nbytes, &nwritten, NULL))
{
ctx->error_code = (int) GetLastError ();
ctx->error = 1;
TRACE_LOG1 ("write error: ec=%d", ctx->error_code);
break;
}
TRACE_LOG1 ("wrote %d bytes", (int) nwritten);
/* Note that CTX->nbytes is not zero at this point, because
_gpgme_io_write always writes at least 1 byte before waking
us up, unless CTX->stop_me is true, which we catch above. */
if (!WriteFile (ctx->file_hd, ctx->buffer,
ctx->nbytes, &nwritten, NULL))
{
ctx->error_code = (int) GetLastError ();
ctx->error = 1;
TRACE_LOG1 ("write error: ec=%d", ctx->error_code);
break;
}
TRACE_LOG1 ("wrote %d bytes", (int) nwritten);
LOCK (ctx->mutex);
ctx->nbytes -= nwritten;
UNLOCK (ctx->mutex);
LOCK (ctx->mutex);
ctx->nbytes -= nwritten;
UNLOCK (ctx->mutex);
}
/* Indicate that we have an error. */
if (!SetEvent (ctx->is_empty))
@ -724,6 +726,9 @@ _gpgme_io_write (int fd, const void *buffer, size_t count)
"buffer=%p, count=%u", buffer, count);
TRACE_LOGBUF (buffer, count);
if (count == 0)
return TRACE_SYS (0);
ctx = find_writer (fd, 1);
if (!ctx)
return TRACE_SYSRES (-1);