Replaced the GET/PUT_UA macros by memcpy. Fixed a few big-endian
issues.
diff --git a/loader/task.c b/loader/task.c
index c5194ad..8826f22 100644
--- a/loader/task.c
+++ b/loader/task.c
@@ -258,6 +258,7 @@
HTASK16 hTask;
TDB *pTask;
char name[10];
+ FARPROC16 proc;
/* Allocate the task structure */
@@ -308,8 +309,8 @@
pTask->pdb.int20 = 0x20cd;
pTask->pdb.dispatcher[0] = 0x9a; /* ljmp */
- PUT_UA_DWORD(&pTask->pdb.dispatcher[1],
- (DWORD)GetProcAddress16( GetModuleHandle16("KERNEL"), "DOS3Call" ));
+ proc = GetProcAddress16( GetModuleHandle16("KERNEL"), "DOS3Call" );
+ memcpy( &pTask->pdb.dispatcher[1], &proc, sizeof(proc) );
pTask->pdb.savedint22 = INT_GetPMHandler( 0x22 );
pTask->pdb.savedint23 = INT_GetPMHandler( 0x23 );
pTask->pdb.savedint24 = INT_GetPMHandler( 0x24 );