darcs patch: Changing Int to CInt and building with
-D_XSERVER64 (w...
Donald Bruce Stewart
dons at cse.unsw.edu.au
Wed Mar 28 02:41:38 EDT 2007
Ok. This needs to be applied. The X11 package is basically broken on 64
bit machines without it, due to unsafe use of Int in foreign imports.
-- Don
thedward:
> Wed Mar 28 01:24:53 CDT 2007 thedward at antejentacular.org
> * (Graphics.X11) Updates for (better) 64-bit compatibility
>
> Changing Int to CInt and building with -D_XSERVER64 (when appropriate)
>
> I went through and weeded out all the Ints I could find, replacing them
> with CInts, adding fromIntegral calls as necessary.
>
> I modified configure.ac and X11.buildinfo.in to support detecting 64-bit
> systems. (inspired by the test in the xorg build).
>
> All these changes seem to make X11 much more useful on 64-bit systems.
>
> Most importantly, I've got xmonad up and running beautifully.
>
>
Content-Description: A darcs patch for your repository!
>
> New patches:
>
> [Changing Int to CInt and building with -D_XSERVER64 (when appropriate)
> thedward at antejentacular.org**20070328062453
>
> I went through and weeded out all the Ints I could find, replacing them
> with CInts, adding fromIntegral calls as necessary.
>
> I modified configure.ac and X11.buildinfo.in to support detecting 64-bit
> systems. (inspired by the test in the xorg build).
>
> All these changes seem to make X11 much more useful on 64-bit systems.
>
> Most importantly, I've got xmonad up and running beautifully.
>
> ] {
> hunk ./Graphics/X11/Types.hsc 794
> +import Foreign.C.Types
> hunk ./Graphics/X11/Types.hsc 1312
> -type NotifyMode = Int
> +type NotifyMode = CInt
> hunk ./Graphics/X11/Types.hsc 1322
> -type NotifyDetail = Int
> +type NotifyDetail = CInt
> hunk ./Graphics/X11/Types.hsc 1334
> -type Visibility = Int
> +type Visibility = CInt
> hunk ./Graphics/X11/Types.hsc 1343
> -type Place = Int
> +type Place = CInt
> hunk ./Graphics/X11/Types.hsc 1349
> -type Protocol = Int
> +type Protocol = CInt
> hunk ./Graphics/X11/Types.hsc 1356
> -type PropertyNotification = Int
> +type PropertyNotification = CInt
> hunk ./Graphics/X11/Types.hsc 1362
> -type ColormapNotification = Int
> +type ColormapNotification = CInt
> hunk ./Graphics/X11/Types.hsc 1369
> -type GrabMode = Int
> +type GrabMode = CInt
> hunk ./Graphics/X11/Types.hsc 1377
> -type GrabStatus = Int
> +type GrabStatus = CInt
> hunk ./Graphics/X11/Types.hsc 1387
> -type AllowEvents = Int
> +type AllowEvents = CInt
> hunk ./Graphics/X11/Types.hsc 1400
> -type FocusMode = Int
> +type FocusMode = CInt
> hunk ./Graphics/X11/Types.hsc 1408
> -type ErrorCode = Int
> +type ErrorCode = CInt
> hunk ./Graphics/X11/Types.hsc 1432
> -type Status = Int
> +type Status = CInt
> hunk ./Graphics/X11/Types.hsc 1439
> -type WindowClass = Int
> +type WindowClass = CInt
> hunk ./Graphics/X11/Types.hsc 1467
> -type CloseDownMode = Int
> +type CloseDownMode = CInt
> hunk ./Graphics/X11/Types.hsc 1478
> -type QueryBestSizeClass = Int
> +type QueryBestSizeClass = CInt
> hunk ./Graphics/X11/Types.hsc 1491
> -type GXFunction = Int
> +type GXFunction = CInt
> hunk ./Graphics/X11/Types.hsc 1511
> -type LineStyle = Int
> +type LineStyle = CInt
> hunk ./Graphics/X11/Types.hsc 1518
> -type CapStyle = Int
> +type CapStyle = CInt
> hunk ./Graphics/X11/Types.hsc 1526
> -type JoinStyle = Int
> +type JoinStyle = CInt
> hunk ./Graphics/X11/Types.hsc 1533
> -type FillStyle = Int
> +type FillStyle = CInt
> hunk ./Graphics/X11/Types.hsc 1541
> -type FillRule = Int
> +type FillRule = CInt
> hunk ./Graphics/X11/Types.hsc 1547
> -type SubWindowMode = Int
> +type SubWindowMode = CInt
> hunk ./Graphics/X11/Types.hsc 1554
> --- type Ordering = Int
> +-- type Ordering = CInt
> hunk ./Graphics/X11/Types.hsc 1563
> -type CoordinateMode = Int
> +type CoordinateMode = CInt
> hunk ./Graphics/X11/Types.hsc 1569
> -type PolygonShape = Int
> +type PolygonShape = CInt
> hunk ./Graphics/X11/Types.hsc 1577
> -type ArcMode = Int
> +type ArcMode = CInt
> hunk ./Graphics/X11/Types.hsc 1586
> -type GCMask = Int
> +type GCMask = CInt
> hunk ./Graphics/X11/Types.hsc 1614
> -type CirculationDirection = Int
> +type CirculationDirection = CInt
> hunk ./Graphics/X11/Types.hsc 1621
> -type ByteOrder = Int
> +type ByteOrder = CInt
> hunk ./Graphics/X11/Types.hsc 1627
> -type ColormapAlloc = Int
> +type ColormapAlloc = CInt
> hunk ./Graphics/X11/Types.hsc 1633
> -type MappingRequest = Int
> +type MappingRequest = CInt
> hunk ./Graphics/X11/Types.hsc 1640
> -type ChangeSaveSetMode = Int
> +type ChangeSaveSetMode = CInt
> hunk ./Graphics/X11/Types.hsc 1646
> -type BitGravity = Int
> +type BitGravity = CInt
> hunk ./Graphics/X11/Types.hsc 1662
> -type WindowGravity = Int
> +type WindowGravity = CInt
> hunk ./Graphics/X11/Types.hsc 1668
> -type BackingStore = Int
> +type BackingStore = CInt
> hunk ./Graphics/X11/Types.hsc 1681
> -type FontDirection = Int
> +type FontDirection = CInt
> hunk ./Graphics/X11/Types.hsc 1687
> -type ImageFormat = Int
> +type ImageFormat = CInt
> hunk ./Graphics/X11/Xlib/Event.hsc 67
> +import Foreign.C.Types
> hunk ./Graphics/X11/Xlib/Event.hsc 81
> -type QueuedMode = Int
> +type QueuedMode = CInt
> hunk ./Graphics/X11/Xlib/Event.hsc 126
> - , Int -- pointer x, y coordinates in event window
> - , Int --
> - , Int -- coordinates relative to root
> - , Int --
> + , CInt -- pointer x, y coordinates in event window
> + , CInt --
> + , CInt -- coordinates relative to root
> + , CInt --
> hunk ./Graphics/X11/Xlib/Event.hsc 162
> - , Int -- pointer x, y coordinates in event window
> - , Int
> - , Int -- coordinates relative to root
> - , Int
> + , CInt -- pointer x, y coordinates in event window
> + , CInt
> + , CInt -- coordinates relative to root
> + , CInt
> hunk ./Graphics/X11/Xlib/Event.hsc 193
> - , Int -- pointer x, y coordinates in event window
> - , Int
> - , Int -- coordinates relative to root
> - , Int
> + , CInt -- pointer x, y coordinates in event window
> + , CInt
> + , CInt -- coordinates relative to root
> + , CInt
> hunk ./Graphics/X11/Xlib/Event.hsc 250
> - , Int -- count
> + , CInt -- count
> hunk ./Graphics/X11/Xlib/Event.hsc 311
> - , Int -- count
> + , CInt -- count
> hunk ./Graphics/X11/Xlib/Event.hsc 406
> - fdSet fd readfds
> - n <- select (fd+1) readfds nofds nofds tv_ptr
> + fdSet (fromIntegral fd) readfds
> + n <- select ((fromIntegral fd)+1) readfds nofds nofds tv_ptr
> hunk ./Graphics/X11/Xlib/Event.hsc 418
> -foreign import ccall unsafe "HsXlib.h" fdSet :: Int -> Ptr FdSet -> IO ()
> +foreign import ccall unsafe "HsXlib.h" fdSet :: CInt -> Ptr FdSet -> IO ()
> hunk ./Graphics/X11/Xlib/Event.hsc 421
> - Int -> Ptr FdSet -> Ptr FdSet -> Ptr FdSet -> Ptr TimeVal -> IO Int
> + CInt -> Ptr FdSet -> Ptr FdSet -> Ptr FdSet -> Ptr TimeVal -> IO CInt
> hunk ./Graphics/X11/Xlib/Event.hsc 464
> - pending :: Display -> IO Int
> + pending :: Display -> IO CInt
> hunk ./Graphics/X11/Xlib/Event.hsc 468
> - eventsQueued :: Display -> QueuedMode -> IO Int
> + eventsQueued :: Display -> QueuedMode -> IO CInt
> hunk ./Graphics/X11/Xlib/Font.hsc 85
> - xGetGCValues :: Display -> GC -> ValueMask -> Ptr GCValues -> IO Int
> + xGetGCValues :: Display -> GC -> ValueMask -> Ptr GCValues -> IO CInt
> hunk ./Graphics/X11/Xlib/Font.hsc 136
> - ( Int -- lbearing (origin to left edge of raster)
> - , Int -- rbearing (origin to right edge of raster)
> - , Int -- width (advance to next char's origin)
> - , Int -- ascent (baseline to top edge of raster)
> - , Int -- descent (baseline to bottom edge of raster)
> + ( CInt -- lbearing (origin to left edge of raster)
> + , CInt -- rbearing (origin to right edge of raster)
> + , CInt -- width (advance to next char's origin)
> + , CInt -- ascent (baseline to top edge of raster)
> + , CInt -- descent (baseline to bottom edge of raster)
> hunk ./Graphics/X11/Xlib/Font.hsc 167
> - xTextExtents font_struct c_string nchars direction_return
> + xTextExtents font_struct c_string (fromIntegral nchars) direction_return
> hunk ./Graphics/X11/Xlib/Font.hsc 175
> - xTextExtents :: FontStruct -> CString -> Int ->
> + xTextExtents :: FontStruct -> CString -> CInt ->
> hunk ./Graphics/X11/Xlib/Font.hsc 177
> - Ptr CharStruct -> IO Int
> + Ptr CharStruct -> IO CInt
> hunk ./Graphics/X11/Xlib/Font.hsc 185
> - xTextWidth font_struct c_string len
> + xTextWidth font_struct c_string (fromIntegral len)
> hunk ./Graphics/X11/Xlib/Font.hsc 187
> - xTextWidth :: FontStruct -> CString -> Int -> IO Int32
> + xTextWidth :: FontStruct -> CString -> CInt -> IO Int32
> hunk ./Graphics/X11/Xlib/Misc.hsc 198
> - bell :: Display -> Int -> IO ()
> + bell :: Display -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 206
> - lastKnownRequestProcessed :: Display -> IO Int
> + lastKnownRequestProcessed :: Display -> IO CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 325
> - IO (Bool, Window, Window, Int, Int, Int, Int, Modifier)
> + IO (Bool, Window, Window, CInt, CInt, CInt, CInt, Modifier)
> hunk ./Graphics/X11/Xlib/Misc.hsc 346
> - Ptr Window -> Ptr Window -> Ptr Int -> Ptr Int ->
> - Ptr Int -> Ptr Int -> Ptr Modifier -> IO Bool
> + Ptr Window -> Ptr Window -> Ptr CInt -> Ptr CInt ->
> + Ptr CInt -> Ptr CInt -> Ptr Modifier -> IO Bool
> hunk ./Graphics/X11/Xlib/Misc.hsc 379
> --- type ErrorHandler = Display -> ErrorEvent -> IO Int
> +-- type ErrorHandler = Display -> ErrorEvent -> IO CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 382
> --- type IOErrorHandler = Display -> IO Int
> +-- type IOErrorHandler = Display -> IO CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 454
> -type ErrorHandler = FunPtr (Display -> Ptr XErrorEvent -> IO Int)
> +type ErrorHandler = FunPtr (Display -> Ptr XErrorEvent -> IO CInt)
> hunk ./Graphics/X11/Xlib/Misc.hsc 457
> - defaultErrorHandler :: FunPtr (Display -> Ptr XErrorEvent -> IO Int)
> + defaultErrorHandler :: FunPtr (Display -> Ptr XErrorEvent -> IO CInt)
> hunk ./Graphics/X11/Xlib/Misc.hsc 550
> -geometry :: Display -> Int -> String -> String ->
> - Dimension -> Dimension -> Dimension -> Int -> Int ->
> - IO (Int, Position, Position, Dimension, Dimension)
> +geometry :: Display -> CInt -> String -> String ->
> + Dimension -> Dimension -> Dimension -> CInt -> CInt ->
> + IO (CInt, Position, Position, Dimension, Dimension)
> hunk ./Graphics/X11/Xlib/Misc.hsc 570
> - xGeometry :: Display -> Int -> CString -> CString ->
> - Dimension -> Dimension -> Dimension -> Int -> Int ->
> + xGeometry :: Display -> CInt -> CString -> CString ->
> + Dimension -> Dimension -> Dimension -> CInt -> CInt ->
> hunk ./Graphics/X11/Xlib/Misc.hsc 573
> - Ptr Dimension -> Ptr Dimension -> IO Int
> + Ptr Dimension -> Ptr Dimension -> IO CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 577
> - IO (Window, Position, Position, Dimension, Dimension, Dimension, Int)
> + IO (Window, Position, Position, Dimension, Dimension, Dimension, CInt)
> hunk ./Graphics/X11/Xlib/Misc.hsc 584
> - Ptr Dimension -> Ptr Dimension -> Ptr Int -> IO Status
> + Ptr Dimension -> Ptr Dimension -> Ptr CInt -> IO Status
> hunk ./Graphics/X11/Xlib/Misc.hsc 609
> -type AllowExposuresMode = Int
> +type AllowExposuresMode = CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 616
> -type PreferBlankingMode = Int
> +type PreferBlankingMode = CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 623
> -type ScreenSaverMode = Int
> +type ScreenSaverMode = CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 630
> - IO (Int, Int, PreferBlankingMode, AllowExposuresMode)
> + IO (CInt, CInt, PreferBlankingMode, AllowExposuresMode)
> hunk ./Graphics/X11/Xlib/Misc.hsc 633
> - xGetScreenSaver :: Display -> Ptr Int -> Ptr Int ->
> + xGetScreenSaver :: Display -> Ptr CInt -> Ptr CInt ->
> hunk ./Graphics/X11/Xlib/Misc.hsc 638
> - setScreenSaver :: Display -> Int -> Int ->
> + setScreenSaver :: Display -> CInt -> CInt ->
> hunk ./Graphics/X11/Xlib/Misc.hsc 658
> -getPointerControl :: Display -> IO (Int, Int, Int)
> +getPointerControl :: Display -> IO (CInt, CInt, CInt)
> hunk ./Graphics/X11/Xlib/Misc.hsc 661
> - xGetPointerControl :: Display -> Ptr Int -> Ptr Int -> Ptr Int -> IO ()
> + xGetPointerControl :: Display -> Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 702
> - createPixmap :: Display -> Drawable -> Dimension -> Dimension -> Int -> IO Pixmap
> + createPixmap :: Display -> Drawable -> Dimension -> Dimension -> CInt -> IO Pixmap
> hunk ./Graphics/X11/Xlib/Misc.hsc 725
> - bitmapUnit :: Display -> Int
> + bitmapUnit :: Display -> CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 729
> - bitmapPad :: Display -> Int
> + bitmapPad :: Display -> CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 767
> -displayKeycodes :: Display -> (Int,Int)
> +displayKeycodes :: Display -> (CInt,CInt)
> hunk ./Graphics/X11/Xlib/Misc.hsc 771
> - xDisplayKeycodes :: Display -> Ptr Int -> Ptr Int -> IO ()
> + xDisplayKeycodes :: Display -> Ptr CInt -> Ptr CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 775
> - lookupKeysym :: XKeyEventPtr -> Int -> IO KeySym
> + lookupKeysym :: XKeyEventPtr -> CInt -> IO KeySym
> hunk ./Graphics/X11/Xlib/Misc.hsc 779
> - keycodeToKeysym :: Display -> KeyCode -> Int -> IO KeySym
> + keycodeToKeysym :: Display -> KeyCode -> CInt -> IO KeySym
> hunk ./Graphics/X11/Xlib/Misc.hsc 819
> - str <- peekCStringLen (buf, n)
> + str <- peekCStringLen (buf, fromIntegral n)
> hunk ./Graphics/X11/Xlib/Misc.hsc 823
> - xLookupString :: XKeyEventPtr -> CString -> Int ->
> - Ptr KeySym -> Ptr XComposeStatus -> IO Int
> + xLookupString :: XKeyEventPtr -> CString -> CInt ->
> + Ptr KeySym -> Ptr XComposeStatus -> IO CInt
> hunk ./Graphics/X11/Xlib/Misc.hsc 929
> - xSetWMProtocols display w protocol_array (length protocols)
> + xSetWMProtocols display w protocol_array (fromIntegral $ length protocols)
> hunk ./Graphics/X11/Xlib/Misc.hsc 931
> - xSetWMProtocols :: Display -> Window -> Ptr Atom -> Int -> IO ()
> + xSetWMProtocols :: Display -> Window -> Ptr Atom -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1001
> - xDrawPoints display d gc point_array npoints mode
> + xDrawPoints display d gc point_array (fromIntegral npoints) mode
> hunk ./Graphics/X11/Xlib/Misc.hsc 1003
> - xDrawPoints :: Display -> Drawable -> GC -> Ptr Point -> Int ->
> + xDrawPoints :: Display -> Drawable -> GC -> Ptr Point -> CInt ->
> hunk ./Graphics/X11/Xlib/Misc.hsc 1015
> - xDrawLines display d gc point_array npoints mode
> + xDrawLines display d gc point_array (fromIntegral npoints) mode
> hunk ./Graphics/X11/Xlib/Misc.hsc 1017
> - xDrawLines :: Display -> Drawable -> GC -> Ptr Point -> Int ->
> + xDrawLines :: Display -> Drawable -> GC -> Ptr Point -> CInt ->
> hunk ./Graphics/X11/Xlib/Misc.hsc 1024
> - xDrawSegments display d gc segment_array nsegments
> + xDrawSegments display d gc segment_array (fromIntegral nsegments)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1026
> - xDrawSegments :: Display -> Drawable -> GC -> Ptr Segment -> Int -> IO ()
> + xDrawSegments :: Display -> Drawable -> GC -> Ptr Segment -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1036
> - xDrawRectangles display d gc rectangle_array nrectangles
> + xDrawRectangles display d gc rectangle_array (fromIntegral nrectangles)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1038
> - xDrawRectangles :: Display -> Drawable -> GC -> Ptr Rectangle -> Int -> IO ()
> + xDrawRectangles :: Display -> Drawable -> GC -> Ptr Rectangle -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1049
> - xDrawArcs display d gc arc_array narcs
> + xDrawArcs display d gc arc_array (fromIntegral narcs)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1051
> - xDrawArcs :: Display -> Drawable -> GC -> Ptr Arc -> Int -> IO ()
> + xDrawArcs :: Display -> Drawable -> GC -> Ptr Arc -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1062
> - xFillRectangles display d gc rectangle_array nrectangles
> + xFillRectangles display d gc rectangle_array (fromIntegral nrectangles)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1064
> - xFillRectangles :: Display -> Drawable -> GC -> Ptr Rectangle -> Int -> IO ()
> + xFillRectangles :: Display -> Drawable -> GC -> Ptr Rectangle -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1070
> - xFillPolygon display d gc point_array npoints shape mode
> + xFillPolygon display d gc point_array (fromIntegral npoints) shape mode
> hunk ./Graphics/X11/Xlib/Misc.hsc 1072
> - xFillPolygon :: Display -> Drawable -> GC -> Ptr Point -> Int -> PolygonShape -> CoordinateMode -> IO ()
> + xFillPolygon :: Display -> Drawable -> GC -> Ptr Point -> CInt -> PolygonShape -> CoordinateMode -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1083
> - xFillArcs display d gc arc_array narcs
> + xFillArcs display d gc arc_array (fromIntegral narcs)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1085
> - xFillArcs :: Display -> Drawable -> GC -> Ptr Arc -> Int -> IO ()
> + xFillArcs :: Display -> Drawable -> GC -> Ptr Arc -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1101
> - xDrawString display d gc x y c_str len
> + xDrawString display d gc x y c_str (fromIntegral len)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1103
> - xDrawString :: Display -> Drawable -> GC -> Position -> Position -> CString -> Int -> IO ()
> + xDrawString :: Display -> Drawable -> GC -> Position -> Position -> CString -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1111
> - xDrawImageString display d gc x y c_str len
> + xDrawImageString display d gc x y c_str (fromIntegral len)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1113
> - xDrawImageString :: Display -> Drawable -> GC -> Position -> Position -> CString -> Int -> IO ()
> + xDrawImageString :: Display -> Drawable -> GC -> Position -> Position -> CString -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1125
> -storeBuffer :: Display -> String -> Int -> IO ()
> +storeBuffer :: Display -> String -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1129
> - xStoreBuffer display c_bytes nbytes buffer
> + xStoreBuffer display c_bytes (fromIntegral nbytes) buffer
> hunk ./Graphics/X11/Xlib/Misc.hsc 1131
> - xStoreBuffer :: Display -> CString -> Int -> Int -> IO Status
> + xStoreBuffer :: Display -> CString -> CInt -> CInt -> IO Status
> hunk ./Graphics/X11/Xlib/Misc.hsc 1138
> - xStoreBytes display c_bytes nbytes
> + xStoreBytes display c_bytes (fromIntegral nbytes)
> hunk ./Graphics/X11/Xlib/Misc.hsc 1140
> - xStoreBytes :: Display -> CString -> Int -> IO Status
> + xStoreBytes :: Display -> CString -> CInt -> IO Status
> hunk ./Graphics/X11/Xlib/Misc.hsc 1143
> -fetchBuffer :: Display -> Int -> IO String
> +fetchBuffer :: Display -> CInt -> IO String
> hunk ./Graphics/X11/Xlib/Misc.hsc 1149
> - bytes <- peekCStringLen (c_bytes, nbytes)
> + bytes <- peekCStringLen (c_bytes, (fromIntegral nbytes))
> hunk ./Graphics/X11/Xlib/Misc.hsc 1153
> - xFetchBuffer :: Display -> Ptr Int -> Int -> IO CString
> + xFetchBuffer :: Display -> Ptr CInt -> CInt -> IO CString
> hunk ./Graphics/X11/Xlib/Misc.hsc 1162
> - bytes <- peekCStringLen (c_bytes, nbytes)
> + bytes <- peekCStringLen (c_bytes, (fromIntegral nbytes))
> hunk ./Graphics/X11/Xlib/Misc.hsc 1166
> - xFetchBytes :: Display -> Ptr Int -> IO CString
> + xFetchBytes :: Display -> Ptr CInt -> IO CString
> hunk ./Graphics/X11/Xlib/Misc.hsc 1169
> -rotateBuffers :: Display -> Int -> IO ()
> +rotateBuffers :: Display -> CInt -> IO ()
> hunk ./Graphics/X11/Xlib/Misc.hsc 1174
> - xRotateBuffers :: Display -> Int -> IO Status
> + xRotateBuffers :: Display -> CInt -> IO Status
> hunk ./Graphics/X11/Xlib/Misc.hsc 1194
> - #{poke XTextProperty,format} text_prop (8::Int)
> + #{poke XTextProperty,format} text_prop (8::CInt)
> hunk ./Graphics/X11/Xlib/Types.hsc 100
> -type Angle = Int
> +type Angle = CInt
> hunk ./Graphics/X11/Xlib/Types.hsc 102
> -type Buffer = Int
> +type Buffer = CInt
> hunk ./Graphics/X11/Xlib/Types.hsc 112
> -peekPositionField :: Ptr a -> Int -> IO Position
> +peekPositionField :: Ptr a -> CInt -> IO Position
> hunk ./Graphics/X11/Xlib/Types.hsc 114
> - v <- peekByteOff ptr off
> + v <- peekByteOff ptr (fromIntegral off)
> hunk ./Graphics/X11/Xlib/Types.hsc 117
> -peekDimensionField :: Ptr a -> Int -> IO Dimension
> +peekDimensionField :: Ptr a -> CInt -> IO Dimension
> hunk ./Graphics/X11/Xlib/Types.hsc 119
> - v <- peekByteOff ptr off
> + v <- peekByteOff ptr (fromIntegral off)
> hunk ./Graphics/X11/Xlib/Types.hsc 122
> -peekAngleField :: Ptr a -> Int -> IO Angle
> +peekAngleField :: Ptr a -> CInt -> IO Angle
> hunk ./Graphics/X11/Xlib/Types.hsc 124
> - v <- peekByteOff ptr off
> + v <- peekByteOff ptr (fromIntegral off)
> hunk ./Graphics/X11/Xlib/Types.hsc 127
> -pokePositionField :: Ptr a -> Int -> Position -> IO ()
> +pokePositionField :: Ptr a -> CInt -> Position -> IO ()
> hunk ./Graphics/X11/Xlib/Types.hsc 129
> - pokeByteOff ptr off (fromIntegral v::ShortPosition)
> + pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortPosition)
> hunk ./Graphics/X11/Xlib/Types.hsc 131
> -pokeDimensionField :: Ptr a -> Int -> Dimension -> IO ()
> +pokeDimensionField :: Ptr a -> CInt -> Dimension -> IO ()
> hunk ./Graphics/X11/Xlib/Types.hsc 133
> - pokeByteOff ptr off (fromIntegral v::ShortDimension)
> + pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortDimension)
> hunk ./Graphics/X11/Xlib/Types.hsc 135
> -pokeAngleField :: Ptr a -> Int -> Angle -> IO ()
> +pokeAngleField :: Ptr a -> CInt -> Angle -> IO ()
> hunk ./Graphics/X11/Xlib/Types.hsc 137
> - pokeByteOff ptr off (fromIntegral v::ShortAngle)
> + pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortAngle)
> hunk ./Graphics/X11/Xlib/Types.hsc 208
> - deriving (Eq, Show, Typeable, Data)
> + deriving (Eq, Show, Typeable)
> hunk ./X11.buildinfo.in 5
> -cc-options: @X_CFLAGS@
> +cc-options: @X_CFLAGS@ @XSERVER64@
> hunk ./configure.ac 47
> +
> + AC_CHECK_SIZEOF([unsigned long])
> + if test "$ac_cv_sizeof_unsigned_long" = 8; then
> + AC_SUBST(XSERVER64,["-D_XSERVER64"])
> + fi
> }
>
> Context:
>
> [README about building from darcs
> Ross Paterson <ross at soi.city.ac.uk>**20070218110201]
> [Warning police: Remove redundant export/import
> sven.panne at aedion.de**20070106162533]
> [bump version to 1.2 (added thread-related functions)
> Simon Marlow <simonmar at microsoft.com>**20070105153426]
> [XNextEvent should be *safe*, for correct behaviour with threads
> Simon Marlow <simonmar at microsoft.com>**20070105152519]
> [add initThreads, lockDisplay, unlockDisplay (threads support)
> Simon Marlow <simonmar at microsoft.com>**20070105152456]
> [also compile Graphics.X11 (it was missing)
> Simon Marlow <simonmar at microsoft.com>**20070105151541]
> [make it work inplace
> Simon Marlow <simonmar at microsoft.com>**20070105144721]
> [Extended the set of Xutil.h macros which should better be functions
> sven.panne at aedion.de**20061124175235]
> [Try to get a prototype (and not a macro) with recent X11 headers
> sven.panne at aedion.de**20061124174842]
> [undef XDestroyImage instead of defining XUTIL_DEFINE_FUNCTIONS
> Ross Paterson <ross at soi.city.ac.uk>**20061108142602
>
> Comment in the file:
> Xutil.h overrides some functions with macros.
> In recent versions of X this can be turned off with
>
> #define XUTIL_DEFINE_FUNCTIONS
>
> before the #include, but this doesn't work with older versions.
> As a workaround, we undef the macros here. Note that this is only
> safe for functions with return type int.
>
> ]
> [re-export Graphics.X11.Xlib.Image
> Ross Paterson <ross at soi.city.ac.uk>**20061106085901]
> [haddock tweaks
> Ross Paterson <ross at soi.city.ac.uk>**20061106085832]
> [Graphics.X11.Xlib.Image doesn't need hsc2hs or -fglasgow-exts
> Ross Paterson <ross at soi.city.ac.uk>**20061106084512]
> [The X11 image functions should not be macros
> sven.panne at aedion.de**20061105112751]
> [add Graphics/X11/Xlib/Image.hsc mistakenly omitted from last patch
> Ross Paterson <ross at soi.city.ac.uk>**20061103143538]
> [fill in Image routines in X11 (#982 from Frederik Eaton)
> Ross Paterson <ross at soi.city.ac.uk>**20061103103559]
> [note CPP extension
> Ross Paterson <ross at soi.city.ac.uk>**20060908233707]
> [includes -> install-includes
> Ross Paterson <ross at soi.city.ac.uk>**20060829123744]
> [exclude Setup.hs even if not building package
> Ross Paterson <ross at soi.city.ac.uk>**20060825222701]
> [increment version number
> Ross Paterson <ross at soi.city.ac.uk>**20060825162304]
> [exclude Setup.hs from build
> Ross Paterson <ross at soi.city.ac.uk>**20060824183533]
> [add boilerplate Setup.hs
> Ross Paterson <ross at soi.city.ac.uk>**20060824115019]
> [add --enable/disable-x11 flag to configure
> Simon Marlow <simonmar at microsoft.com>**20060316162346
> submitted by Duncan Coutts.
> ]
> [TAG Initial conversion from CVS complete
> John Goerzen <jgoerzen at complete.org>**20060112154138]
> Patch bundle hash:
> 98a709436f6d93642c27393c75780fba99bfb300
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
More information about the Libraries
mailing list