[PATCH libFS] Fix build with xtrans 1.3

Mark Kettenis mark.kettenis at xs4all.nl
Fri Nov 1 19:49:58 CET 2013


> From: Adam Jackson <ajax at redhat.com>
> Date: Fri,  1 Nov 2013 11:17:31 -0400
> 
> ->Readv was in fact being used, oops.  Just call straight down to
> readv() instead.

Yuck.  That's quite a layer violation.  And unless I'm mistaking it
won't work for WIN32 and other platforms for which Readv is emulated.

Please just add Readv back to libxtrans.

> ---
>  src/FSlibInt.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/FSlibInt.c b/src/FSlibInt.c
> index edc66ba..0fabc96 100644
> --- a/src/FSlibInt.c
> +++ b/src/FSlibInt.c
> @@ -58,6 +58,7 @@ in this Software without prior written authorization from The Open Group.
>  #endif
>  #include <stdio.h>
>  #include "FSlibint.h"
> +#include <X11/Xtrans/Xtransint.h>
>  #include <X11/Xos.h>
>  
>  static void _EatData32 ( FSServer *svr, unsigned long n );
> @@ -360,7 +361,7 @@ _FSReadPad(
>      size += iov[1].iov_len;
>  
>      ESET(0);
> -    while ((bytes_read = _FSTransReadv(svr->trans_conn, iov, 2)) != size) {
> +    while ((bytes_read = readv(svr->trans_conn->fd, iov, 2)) != size) {
>  
>  	if (bytes_read > 0) {
>  	    size -= bytes_read;
> -- 
> 1.8.3.1
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list