diff options
-rw-r--r-- | c2haskell.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/c2haskell.hs b/c2haskell.hs index 0e857a9..0c31c93 100644 --- a/c2haskell.hs +++ b/c2haskell.hs | |||
@@ -550,12 +550,14 @@ setBody bdy (CDeclExt (CDecl xs ys pos)) = (CFDefExt (CFunDef xs v [] bdy pos)) | |||
550 | _ -> CDeclr Nothing [] Nothing [] pos | 550 | _ -> CDeclr Nothing [] Nothing [] pos |
551 | 551 | ||
552 | makeStub d = -- @(CDeclExt (CDecl xs ys pos)) = | 552 | makeStub d = -- @(CDeclExt (CDecl xs ys pos)) = |
553 | let oargs:xs = getArgList d | 553 | let rval = True -- todo: Set False for void function. |
554 | (args,vs) = makeParameterNames oargs | ||
555 | name = concatMap identToString $ take 1 $ catMaybes $ sym d | 554 | name = concatMap identToString $ take 1 $ catMaybes $ sym d |
556 | rval = True -- todo: Set False for void function. | ||
557 | msg = "undefined: " ++ HS.prettyPrint (makeAcceptableDecl $ head $ sig d) ++ "\n" | 555 | msg = "undefined: " ++ HS.prettyPrint (makeAcceptableDecl $ head $ sig d) ++ "\n" |
558 | in setBody (stubBody ("f_"++name) vs rval msg) $ changeArgList (const $ args:xs) d | 556 | in case getArgList d of |
557 | oargs:xs -> | ||
558 | let (args,vs) = makeParameterNames oargs | ||
559 | in setBody (stubBody ("f_"++name) vs rval msg) $ changeArgList (const $ args:xs) d | ||
560 | [] -> setBody (stubBody ("f_"++name) [] rval msg) d | ||
559 | 561 | ||
560 | 562 | ||
561 | parameterIdent :: CDeclaration a -> Maybe Ident | 563 | parameterIdent :: CDeclaration a -> Maybe Ident |