[Haskell-beginners] Improve my FFI code please...

sean at objitsu.com sean at objitsu.com
Fri Jan 21 10:09:23 CET 2011


Edward, Daniel, thanks.

> On Friday 21 January 2011 00:35:02, Sean Charles wrote:
> wiiOpen :: String -> IO (Maybe (Ptr Word8))
> wiiOpen wid = do
> ? ?handle <- withCString wid c_wiimote_open
> ? ?case handle of
> ? ? ?nullPtr -> return Nothing
> ? ? ?handle -> return (Just handle)
> Unless nullPtr is a macro that gets replaced with a literal by the
> preprocessor, that won't do what you want. "nullPtr" is a generic name and
> matches everything, so you'll always take the first branch (with -Wall, ghc
> should warn about overlapping patterns in that case).

Daniel, you have confused me. In my RWH book there is a test from the  
PCRE example of nullPtr == x, so I just did my code using a case  
instead, I am sure it's correct!?!?!?   If I run my program with the  
Wiimote off, it prints FAIL and if I press the red sync. button it  
then prints out OK and the memory address of the allocated structure  
so it surely must be workng as I expected?

Anybody?

Edward, I am going to apply your comments over the weekend and see if  
I can truly understand them. I get the rough idea.

Thanks guys.
Sean.






More information about the Beginners mailing list