Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!ux1.cso.uiuc.edu!uxa.cso.uiuc.edu!mms00786 From: mms00786@uxa.cso.uiuc.edu Newsgroups: comp.windows.ms Subject: Re: FAR functions and float types Message-ID: <246400025@uxa.cso.uiuc.edu> Date: 17 Sep 89 15:54:00 GMT References: <246400022@uxa.cso.uiuc.edu> Lines: 29 Nf-ID: #R:uxa.cso.uiuc.edu:246400022:uxa.cso.uiuc.edu:246400025:000:764 Nf-From: uxa.cso.uiuc.edu!mms00786 Sep 17 10:54:00 1989 Thanks to all who responded, by email, here, and otherwise. The problem is that the original K&R specified that all float arguments be promoted to double. To avoid this promotion, you need to have funtion prototypes. Furthermore, the prototypes have to be in the following format - In files that will be using the extern function, you need something like this - void far fnPlotSegment (int, float, float); In the module that contains the function, you must have - void FAR fnPlotSegment (int myVar1, float myVar2, float myVar3) {... } Note that the following will _not_ work - void FAR fnPlotSegment (myVar1, myVar2, myVar3) int myVar1; float myVar2; float myVar3; {... } Once again thank you for clarifying this point. Milan mms00786@uxa.cso.uiuc.edu .