On Sun, 9 May 2004, Arkady V.Belousov wrote:
> ______________O\_/_________________________________\_/O______________
> long DosRWSft(int sft_idx, size_t n, void FAR * bp, int mode)
> XferCount = network_redirector_mx(mode == XFR_READ ? REM_READ : REM_WRITE,
> s, (void *)n);
> >----------------------------------------------^^^
> _____________________________________________________________________
> O/~\ /~\O
>
> Probably, should be "&n"?
no, the last argument of network_redirector_mx is a container argument. It
can be a near pointer to a far pointer or a long, or a simple integer.
Thinking about it it's probably clearer to supply multiple prototypes
for the same function in int2f.asm rather then the #defines and casts.
Then
XferCount = network_redirector_rw(mode == XFR_READ ? REM_READ :
REM_WRITE, s, n);
could do the job.
A union
union {
unsigned n;
long *lseek_off;
const char far **src;
/*...*/
}
could do it as well but is somewhat more complex to deal with on the
caller side.
Bart
-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel