Changeset 12292 for third-party

Show
Ignore:
Timestamp:
08/16/06 07:16:34 (2 years ago)
Author:
audreyt
Message:

* explicit import of ByteString? functions in HsSyc? o try to debug for agentzh++'s buildfail

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • third-party/HsSyck/Data/Yaml/Syck.hsc

    r11938 r12292  
    2323import qualified Data.HashTable as Hash 
    2424import qualified Data.ByteString.Char8 as Buf 
     25import Data.ByteString.Char8 (copyCStringLen, useAsCStringLen, useAsCString, copyCString) 
    2526 
    2627type Buf        = Buf.ByteString 
     
    153154outputCallbackPS :: IORef [Buf] -> SyckEmitter -> CString -> CLong -> IO () 
    154155outputCallbackPS out emitter buf len = do 
    155     str <- Buf.copyCStringLen (buf, fromEnum len) 
     156    str <- copyCStringLen (buf, fromEnum len) 
    156157    str `seq` modifyIORef out (str:) 
    157158 
     
    177178emitNode _ e n | EStr s <- n_elem n = do 
    178179    withTag n (Ptr "string"##) $ \tag -> 
    179         Buf.useAsCStringLen s $ \(cs, l) ->        
     180        useAsCStringLen s $ \(cs, l) ->        
    180181        syck_emit_scalar e tag scalarNone 0 0 0 cs (toEnum l) 
    181182 
     
    195196 
    196197withTag :: YamlNode -> CString -> (CString -> IO a) -> IO a 
    197 withTag node def f = maybe (f def) (`Buf.useAsCString` f) (n_tag node) 
     198withTag node def f = maybe (f def) (`useAsCString` f) (n_tag node) 
    198199 
    199200parseYaml :: String -> IO YamlNode 
     
    204205 
    205206parseYamlBytes :: Buf -> IO YamlNode 
    206 parseYamlBytes = (`Buf.useAsCString` parseYamlCStr) 
     207parseYamlBytes = (`useAsCString` parseYamlCStr) 
    207208 
    208209parseYamlCStr :: CString -> IO YamlNode 
     
    285286    tag <- #{peek SyckNode, type_id} syckNode 
    286287    if (tag == nullPtr) then (return Nothing) else do 
    287         p <- Buf.copyCString tag 
     288        p <- copyCString tag 
    288289        return $! case Buf.elemIndex '/' p of 
    289290            Just n -> let { pre = Buf.take n p; post = Buf.drop (n+1) p } in 
     
    322323    tag   <- syckNodeTag syckNode 
    323324    cstr  <- syck_str_read syckNode 
    324     buf   <- Buf.copyCStringLen (cstr, fromEnum len) 
     325    buf   <- copyCStringLen (cstr, fromEnum len) 
    325326    let node = nilNode{ n_elem = EStr buf, n_tag = tag } 
    326327    if tag == Nothing && Buf.length buf == 1 && Buf.index buf 0 == '~'