2 % (c) The AQUA Project, Glasgow University, 1996-1998
4 \section[Argv]{@Argv@: direct (non-standard) access to command-line arguments}
7 module Argv ( argv ) where
9 #include "HsVersions.h"
13 #if __GLASGOW_HASKELL__ <= 302
14 import GlaExts ( Addr )
15 import ByteArray ( indexAddrOffAddr )
17 import Addr ( Addr, indexAddrOffAddr )
21 argv = unpackArgv ``prog_argv'' (``prog_argc''::Int)
23 unpackArgv :: Addr -> Int -> [FAST_STRING] -- argv[1 .. argc-1]
25 unpackArgv argv argc = unpack 1
27 unpack :: Int -> [FAST_STRING]
31 case (indexAddrOffAddr argv n) of
32 item -> mkFastCharString item : unpack (n + 1)