Instead of write :
{
int pipe[8];
char p[] = "C:\\NEWDESK.INF";
pipe[0] = VA_START;
pipe[1] = app.id;
pipe[2] = 0;
pipe[3] = strcpy( app.pipe, *(char**) & p);
appl_write( id_target, 16, pipe);
}
just write:
ApplWrite( id_target, VA_START, ADR(strcpy(app.pipe,"C:\\NEWDESK.INF")), 0, 0);
Macro ADR() is required by 32-bits compilers but not for
16-bits. However, to increase the portability, we recommend to
use ADR() macro function for pointer arguments. app.pipe is just
a buffer in global memory reserved by WinDom and used for
communications with extern GEM application. It is not required
for internal communications.