Changeset 15675 for src/Pugs/Run

Show
Ignore:
Timestamp:
03/13/07 10:17:48 (21 months ago)
Author:
audreyt
Message:

* Pugs.Run.Perl5: Preliminary support for converting

non-SvUTF8 data from Perl5.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Run/Perl5.hs

    r15431 r15675  
    4444foreign export ccall "pugs_PvnToVal" 
    4545    pvnToVal :: CString -> CInt -> IO PugsVal 
     46 
     47foreign export ccall "pugs_PvnToValUTF8" 
     48    pvnToValUTF8 :: CString -> CInt -> IO PugsVal 
    4649 
    4750foreign export ccall "pugs_UndefVal" 
     
    130133nvToVal = mkValPtr . VNum . realToFrac 
    131134 
     135pvnToValUTF8 :: CString -> CInt -> IO PugsVal 
     136pvnToValUTF8 cstr len = do 
     137    str <- peekCStringLen (cstr, fromEnum len) 
     138    mkValPtr $ VStr (decodeUTF8 str) 
     139 
    132140pvnToVal :: CString -> CInt -> IO PugsVal 
    133141pvnToVal cstr len = do 
    134142    str <- peekCStringLen (cstr, fromEnum len) 
    135     ptr <- mkValPtr $ VStr (decodeUTF8 str) 
    136     return ptr 
     143    mkValPtr $ VStr str -- XXX - wrong - make Buf object! 
    137144 
    138145undefVal :: IO PugsVal