Changeset 5978 for trunk/src


Ignore:
Timestamp:
Jun 13, 2001, 4:19:34 AM (24 years ago)
Author:
bird
Message:

Now it COMPILES with Watcom too.

Location:
trunk/src/win16ldr
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win16ldr/odindll.c

    r5954 r5978  
    99BOOL GetPEOptionalHeader (LPVOID lpFile, PIMAGE_OPTIONAL_HEADER pHeader);
    1010
     11#ifdef __WATCOMC__
     12typedef DWORD (FAR * WINAPI * FUNC_GetVersion)(void);
     13typedef UINT  (FAR * WINAPI * FUNC_WinExec)(LPCSTR, UINT);
     14#else
    1115typedef DWORD (FAR * WINAPI FUNC_GetVersion)(void);
    12 typedef UINT (FAR *WINAPI FUNC_WinExec)(LPCSTR, UINT);
     16typedef UINT  (FAR * WINAPI FUNC_WinExec)(LPCSTR, UINT);
     17#endif
    1318
    1419BYTE  oldcodeVER;
     
    2631char szPEPath[256] = {0};
    2732
    28 //*****************************************************************************************           
    29 //*****************************************************************************************           
     33//*****************************************************************************************
     34//*****************************************************************************************
    3035int FAR _loadds CALLBACK LibMain(HINSTANCE hinst, WORD wDataSeg, WORD cbHeap, LPSTR lpszCmdLine)
    3136{
     
    4651                oldcodeVER  = *jumpVER;
    4752                olddataVER  = *addr;
    48                 *jumpVER    = 0xEA;     //jmp 
     53                *jumpVER    = 0xEA;     //jmp
    4954                *addr       = (DWORD)&MyGetVersion;
    5055
     
    5762                oldcodeEXEC = *jumpEXEC;
    5863                olddataEXEC = *addr;
    59                 *jumpEXEC   = 0xEA;     //jmp 
     64                *jumpEXEC   = 0xEA;     //jmp
    6065                *addr       = (DWORD)&MyWinExec;
    6166    }
    6267    return 1;
    6368}
    64 //*****************************************************************************************           
    65 //*****************************************************************************************           
     69//*****************************************************************************************
     70//*****************************************************************************************
    6671int FAR _loadds PASCAL WEP(int entry)
    6772{
     
    8388        return 1;
    8489}
    85 //*****************************************************************************************           
    86 //*****************************************************************************************           
     90//*****************************************************************************************
     91//*****************************************************************************************
    8792DWORD FAR PASCAL MyGetVersion()
    8893{
    8994        return 0x00005F0C;
    9095}
    91 //*****************************************************************************************           
    92 //*****************************************************************************************           
     96//*****************************************************************************************
     97//*****************************************************************************************
    9398UINT FAR _loadds PASCAL MyWinExec(LPCSTR lpszCmdLine, UINT fuShowCmd)
    9499{
     
    106111        HGLOBAL hMem1 = 0, hMem2 = 0, hMem3 = 0, hMem4 = 0;
    107112        BOOL fFail = TRUE;
    108    
     113
    109114        of.cBytes = sizeof(OFSTRUCT);
    110115       
     
    170175       
    171176calloldfunc:                   
    172         if(hMem4) {   
     177        if(hMem4) {
    173178                GlobalUnlock(hMem4);
    174179                GlobalFree(hMem4);
    175180        }               
    176         if(hMem3) {   
     181        if(hMem3) {
    177182                GlobalUnlock(hMem3);
    178183                GlobalFree(hMem3);
    179184        }               
    180         if(hMem2) {   
     185        if(hMem2) {
    181186                GlobalUnlock(hMem2);
    182187                GlobalFree(hMem2);
    183188        }               
    184189        if(hFile)       
    185                 _lclose(hFile);     
     190                _lclose(hFile);
    186191
    187192    addr      = (DWORD FAR *)(jumpEXEC + 1);
     
    202207                                Yield();
    203208                                tickcount2 = GetTickCount();
    204                         }                               
     209                        }
    205210                        while(tickcount2 - tickcount1 < 2000UL);
    206211                }
    207212        }
    208213       
    209         *jumpEXEC   = 0xEA;     //jmp 
     214        *jumpEXEC   = 0xEA;     //jmp
    210215        *addr       = (DWORD)&MyWinExec;
    211216       
     
    221226{
    222227    if(*(WORD *)lpFile == IMAGE_DOS_SIGNATURE &&
    223        *(DWORD *)PE_HEADER (lpFile) == IMAGE_NT_SIGNATURE) 
     228       *(DWORD *)PE_HEADER (lpFile) == IMAGE_NT_SIGNATURE)
    224229    {
    225230                 memcpy ((LPVOID)pHeader, PEHEADEROFF (lpFile), sizeof (IMAGE_FILE_HEADER));
     
    233238{
    234239    if(*(WORD *)lpFile == IMAGE_DOS_SIGNATURE &&
    235        *(DWORD *)PE_HEADER (lpFile) == IMAGE_NT_SIGNATURE) 
     240       *(DWORD *)PE_HEADER (lpFile) == IMAGE_NT_SIGNATURE)
    236241    {
    237242                 memcpy ((LPVOID)pHeader, OPTHEADEROFF (lpFile), sizeof (IMAGE_OPTIONAL_HEADER));
     
    240245    else return FALSE;
    241246}
    242 //*****************************************************************************************           
    243 //*****************************************************************************************           
     247//*****************************************************************************************
     248//*****************************************************************************************
Note: See TracChangeset for help on using the changeset viewer.