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

Reply via email to