OpenAFP-Utils 1.4.1 → 1.4.1.1
raw patch · 3 files changed
+29/−1 lines, 3 filesnew-component:exe:afp-tledump
Files
- ChangeLog +4/−0
- OpenAFP-Utils.cabal +5/−1
- afp-tledump.hs +20/−0
ChangeLog view
@@ -1,3 +1,7 @@+# 1.4.1.1++* Add afp-tledump utility.+ # 1.4.1 * Remove iconv dependency.
OpenAFP-Utils.cabal view
@@ -1,5 +1,5 @@ Name: OpenAFP-Utils-Version: 1.4.1+Version: 1.4.1.1 License: PublicDomain License-file: LICENSE Author: Audrey Tang@@ -19,6 +19,10 @@ Executable afp-olndump Main-is: afp-olndump.hs+ Build-depends: OpenAFP >= 1.4, base >= 4 && < 5, bytestring, containers, binary++Executable afp-tledump+ Main-is: afp-tledump.hs Build-depends: OpenAFP >= 1.4, base >= 4 && < 5, bytestring, containers, binary Executable afp-dump
+ afp-tledump.hs view
@@ -0,0 +1,20 @@+module Main where+import OpenAFP+import System.Exit+import Data.Char (isDigit, isAlphaNum)+import Data.List (find)+import qualified Data.ByteString.Char8 as C++main :: IO ()+main = do+ args <- getArgs+ if null args then error "Usage: afp-tledump file.afp" else do+ let (inFile:_) = args+ cs <- readAFP inFile+ forM_ (filter (~~ _TLE) cs) $ \tle -> do+ let Just (fqn:av:_) = tle_Chunks `applyToChunk` tle+ Just key = t_fqn `applyToChunk` fqn+ Just val = t_av `applyToChunk` av+ putStr (filter (/= '\x00') $ fromAStr key)+ putStr "="+ putStrLn (filter (/= '\x00') $ fromAStr val)