projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2000-03-27 13:23:49 by simonpj]
[ghc-hetmet.git]
/
ghc
/
compiler
/
utils
/
Argv.lhs
diff --git
a/ghc/compiler/utils/Argv.lhs
b/ghc/compiler/utils/Argv.lhs
index
58926a8
..
0d6262a
100644
(file)
--- a/
ghc/compiler/utils/Argv.lhs
+++ b/
ghc/compiler/utils/Argv.lhs
@@
-1,29
+1,34
@@
%
%
-% (c) The AQUA Project, Glasgow University, 1996
+% (c) The AQUA Project, Glasgow University, 1996-1998
%
\section[Argv]{@Argv@: direct (non-standard) access to command-line arguments}
\begin{code}
%
\section[Argv]{@Argv@: direct (non-standard) access to command-line arguments}
\begin{code}
-#include "HsVersions.h"
-
module Argv ( argv ) where
module Argv ( argv ) where
-import PreludeGlaST ( indexAddrOffAddr )
+#include "HsVersions.h"
-CHK_Ubiq() -- debugging consistency check
+import FastString
+
+#if __GLASGOW_HASKELL__ <= 302
+import GlaExts ( Addr )
+import ByteArray ( indexAddrOffAddr )
+#else
+import Addr ( Addr, indexAddrOffAddr )
+#endif
argv :: [FAST_STRING]
argv = unpackArgv ``prog_argv'' (``prog_argc''::Int)
argv :: [FAST_STRING]
argv = unpackArgv ``prog_argv'' (``prog_argc''::Int)
-unpackArgv :: _Addr -> Int -> [FAST_STRING] -- argv[1 .. argc-1]
+unpackArgv :: Addr -> Int -> [FAST_STRING] -- argv[1 .. argc-1]
unpackArgv argv argc = unpack 1
where
unpack :: Int -> [FAST_STRING]
unpack n
unpackArgv argv argc = unpack 1
where
unpack :: Int -> [FAST_STRING]
unpack n
- = if (n >= argc)
- then ([] :: [FAST_STRING])
- else case (indexAddrOffAddr argv n) of { item ->
- _packCString item : unpack (n + 1)
- }
+ | n >= argc = []
+ | otherwise =
+ case (indexAddrOffAddr argv n) of
+ item -> mkFastCharString item : unpack (n + 1)
+
\end{code}
\end{code}