Show
Ignore:
Timestamp:
05/25/05 04:50:59 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
5385
Message:

* AUTOLOAD now links to callconv

Files:
1 modified

Legend:

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

    r3852 r3859  
    1414 
    1515evalPerl5 :: String -> IO PerlSV 
    16 evalPerl5 _ = return () 
     16evalPerl5 _ = fail "perl5 not embedded" 
    1717 
    1818freePerl5 :: PerlInterpreter -> IO () 
    1919freePerl5 _ = return () 
    2020 
    21 svToVStr :: PerlSV -> IO a 
    22 svToVStr _ = fail "not implemented" 
     21svToVStr :: PerlSV -> IO String 
     22svToVStr _ = fail "perl5 not embedded" 
     23 
     24callPerl5 :: String -> [PerlSV] -> IO PerlSV 
     25callPerl5 _ _ = fail "perl5 not embedded" 
    2326 
    2427#else 
     
    5053foreign import ccall "perl5.h perl5_SvPV" 
    5154    perl5_SvPV :: PerlSV -> IO CString 
     55foreign import ccall "perl5.h perl5_call" 
     56    perl5_call :: CString -> CInt -> Ptr PerlSV -> IO PerlSV 
    5257foreign import ccall "perl5.h perl5_init" 
    5358    perl5_init :: CInt -> Ptr CString -> IO PerlInterpreter 
     
    6166svToVStr :: PerlSV -> IO String 
    6267svToVStr sv = peekCString =<< perl5_SvPV sv 
     68 
     69callPerl5 :: String -> [PerlSV] -> IO PerlSV 
     70callPerl5 str args = do 
     71    withCString str $ \cstr -> do 
     72        withArray args $ \argv -> do 
     73            perl5_call cstr (toEnum $ length args) argv 
    6374 
    6475evalPerl5 :: String -> IO PerlSV