diff options
author | Marcus Brinkmann <mb@g10code.com> | 2007-09-24 09:50:01 +0000 |
---|---|---|
committer | Marcus Brinkmann <mb@g10code.com> | 2007-09-24 09:50:01 +0000 |
commit | 32be0c9ff0ef7e0d47a9135adc6b6234f0b22bdd (patch) | |
tree | a8b18fad7c9e9d269ede52db1f30cbbe7e51e1b1 | |
parent | 5002babafc9ebda04ab0b55aaf7ad1b33282a505 (diff) | |
download | libassuan-32be0c9ff0ef7e0d47a9135adc6b6234f0b22bdd.tar.gz |
2007-09-24 Marcus Brinkmann <marcus@g10code.de>
* assuan-uds.c (uds_reader) [HAVE_W32_SYSTEM]: Do not touch the
UDS structure in the context. Reported by Frank Osterfeld.
(uds_writer): Clarify code.
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/assuan-uds.c | 22 |
2 files changed, 15 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 25e0875..3b38307 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2007-09-24 Marcus Brinkmann <marcus@g10code.de> + + * assuan-uds.c (uds_reader) [HAVE_W32_SYSTEM]: Do not touch the + UDS structure in the context. Reported by Frank Osterfeld. + (uds_writer): Clarify code. + 2007-09-14 Marcus Brinkmann <marcus@g10code.de> * assuan-pipe-connect.c (do_finish) [HAVE_W32_SYSTEM]: Close diff --git a/src/assuan-uds.c b/src/assuan-uds.c index d502ad8..71ab3b1 100644 --- a/src/assuan-uds.c +++ b/src/assuan-uds.c @@ -70,9 +70,9 @@ static ssize_t uds_reader (assuan_context_t ctx, void *buf, size_t buflen) { +#ifndef HAVE_W32_SYSTEM int len = ctx->uds.buffersize; -#ifndef HAVE_W32_SYSTEM if (!ctx->uds.bufferallocated) { ctx->uds.buffer = xtrymalloc (2048); @@ -139,12 +139,6 @@ uds_reader (assuan_context_t ctx, void *buf, size_t buflen) #endif /*USE_DESCRIPTOR_PASSING*/ } -#else /*HAVE_W32_SYSTEM*/ - - len = recvfrom (HANDLE2SOCKET(ctx->inbound.fd), buf, buflen, 0, NULL, NULL); - -#endif /*HAVE_W32_SYSTEM*/ - /* Return some data to the user. */ if (len > buflen) /* We have more than the user requested. */ @@ -157,6 +151,9 @@ uds_reader (assuan_context_t ctx, void *buf, size_t buflen) assert (ctx->uds.bufferoffset <= ctx->uds.bufferallocated); return len; +#else /*HAVE_W32_SYSTEM*/ + return recvfrom (HANDLE2SOCKET(ctx->inbound.fd), buf, buflen, 0, NULL, NULL); +#endif /*HAVE_W32_SYSTEM*/ } @@ -179,14 +176,13 @@ uds_writer (assuan_context_t ctx, const void *buf, size_t buflen) iovec.iov_len = buflen; len = _assuan_simple_sendmsg (ctx, &msg); + + return len; #else /*HAVE_W32_SYSTEM*/ - int len; - - len = sendto (HANDLE2SOCKET(ctx->outbound.fd), buf, buflen, 0, - (struct sockaddr *)&ctx->serveraddr, - sizeof (struct sockaddr_in)); + return sendto (HANDLE2SOCKET(ctx->outbound.fd), buf, buflen, 0, + (struct sockaddr *)&ctx->serveraddr, + sizeof (struct sockaddr_in)); #endif /*HAVE_W32_SYSTEM*/ - return len; } |