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