Yeah, ugly, but looks reasonable given the unfortunateness of the situation.
Reviewed-by: Jeremy Huddleston <jerem...@apple.com> Should be no effective difference once past cpp since they're both ints: #define Bool int #define Status int #define True 1 #define False 0 On Apr 10, 2011, at 18:11, Peter Hutterer wrote: > XShmAttach, XShmDetach, XShmPutImage do not return a Status but 0 or 1. > Though the man section for XShmAttach says "if all goes well, you will get a > non-zero status, back" this is counter to the usage of Status in Xlib > itself where 0 means Success and no-zero specifies the specific error. > > XShmPixmapFormat does not return a Status but the pixmap format or 0 on > failure. > > Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> > --- > I know we're reluctant to change library header files but in this particular > case it should be safe. Status and Bool are both typedef'd to int in Xlib.h. > Likewise with the XShmPixmapFormat return code. > > Alternatively, if this patch is considered too risky, I can just change the > man page to state that the Status return type is bogus and should > be interpreted as boolean instead. > > include/X11/extensions/XShm.h | 8 ++++---- > man/XShm.man | 10 +++++----- > src/XShm.c | 8 ++++---- > 3 files changed, 13 insertions(+), 13 deletions(-) > > diff --git a/include/X11/extensions/XShm.h b/include/X11/extensions/XShm.h > index 44eaf0b..8e534f9 100644 > --- a/include/X11/extensions/XShm.h > +++ b/include/X11/extensions/XShm.h > @@ -78,17 +78,17 @@ int XShmPixmapFormat( > Display* /* dpy */ > ); > > -Status XShmAttach( > +Bool XShmAttach( > Display* /* dpy */, > XShmSegmentInfo* /* shminfo */ > ); > > -Status XShmDetach( > +Bool XShmDetach( > Display* /* dpy */, > XShmSegmentInfo* /* shminfo */ > ); > > -Status XShmPutImage( > +Bool XShmPutImage( > Display* /* dpy */, > Drawable /* d */, > GC /* gc */, > @@ -102,7 +102,7 @@ Status XShmPutImage( > Bool /* send_event */ > ); > > -Status XShmGetImage( > +Bool XShmGetImage( > Display* /* dpy */, > Drawable /* d */, > XImage* /* image */, > diff --git a/man/XShm.man b/man/XShm.man > index 4309461..f459ce1 100644 > --- a/man/XShm.man > +++ b/man/XShm.man > @@ -70,14 +70,14 @@ Bool XShmQueryVersion( > int *major, *minor; > Bool *pixmaps); > .LP > -Status XShmPixmapFormat( > +int XShmPixmapFormat( > Display *display); > .LP > -Status XShmAttach( > +Bool XShmAttach( > Display *display; > XShmSegmentInfo *shminfo); > .LP > -Status XShmDetach( > +Bool XShmDetach( > Display *display; > XShmSegmentInfo *shminfo); > > @@ -91,7 +91,7 @@ XImage *XShmCreateImage ( > XShmSegmentInfo *shminfo; > unsigned int width, height); > .LP > -Status XShmPutImage( > +Bool XShmPutImage( > Display *display; > Drawable d; > GC gc; > @@ -100,7 +100,7 @@ Status XShmPutImage( > unsigned int width, height; > bool send_event); > .LP > -Status XShmGetImage ( > +Bool XShmGetImage ( > Display *display; > Drawable d; > XImage *image; > diff --git a/src/XShm.c b/src/XShm.c > index fc18860..af3e71b 100644 > --- a/src/XShm.c > +++ b/src/XShm.c > @@ -226,7 +226,7 @@ int XShmPixmapFormat(Display *dpy) > } > > > -Status XShmAttach(Display *dpy, XShmSegmentInfo *shminfo) > +Bool XShmAttach(Display *dpy, XShmSegmentInfo *shminfo) > { > XExtDisplayInfo *info = find_display (dpy); > register xShmAttachReq *req; > @@ -246,7 +246,7 @@ Status XShmAttach(Display *dpy, XShmSegmentInfo *shminfo) > } > > > -Status XShmDetach(Display *dpy, XShmSegmentInfo *shminfo) > +Bool XShmDetach(Display *dpy, XShmSegmentInfo *shminfo) > { > XExtDisplayInfo *info = find_display (dpy); > register xShmDetachReq *req; > @@ -315,7 +315,7 @@ XImage *XShmCreateImage ( > return image; > } > > -Status XShmPutImage ( > +Bool XShmPutImage ( > register Display *dpy, > Drawable d, > GC gc, > @@ -357,7 +357,7 @@ Status XShmPutImage ( > } > > > -Status XShmGetImage( > +Bool XShmGetImage( > register Display *dpy, > Drawable d, > XImage *image, > -- > 1.7.4.2 > > _______________________________________________ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel