Changeset 15297 for src/Pugs/Run
- Timestamp:
- 02/18/07 15:59:02 (21 months ago)
- Files:
-
- 1 modified
-
src/Pugs/Run/Perl5.hs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Run/Perl5.hs
r15296 r15297 14 14 import Foreign.C.String 15 15 import Foreign.Marshal.Array 16 import qualified Data.ByteString.Char8 as Str17 16 18 17 foreign export ccall "pugs_Eval" … … 71 70 args <- mapM deVal =<< peekArray0 nullVal argsPtr 72 71 let subExp = case sub of 73 VStr str -> case cast str of 74 name@('&':_) -> _Var name 75 name -> _Var ('&':name) 72 VStr name@('&':_) -> _Var name 73 VStr name -> _Var ('&':name) 76 74 _ -> Val sub 77 75 -- warn "Applying:" (subExp, inv, args, envLexical env) … … 120 118 env <- askPerl5Env 121 119 VStr x <- runEvalIO env $ fmap VInt (fromVal val) 122 newCString (cast x)120 newCString x 123 121 124 122 mkSvRef :: PerlSV -> IO PugsVal … … 134 132 pvnToVal cstr len = do 135 133 str <- peekCStringLen (cstr, fromEnum len) 136 ptr <- mkVal $ _VStr (decodeUTF8 str)134 ptr <- mkVal $ VStr (decodeUTF8 str) 137 135 return ptr 138 136
