Ignore:
Timestamp:
Aug 5, 2010, 10:43:01 PM (15 years ago)
Author:
dmik
Message:

Added mapping of OS/2's ERROR_INIT_ROUTINE_FAILED to Win32's ERROR_DLL_INIT_FAILED_W.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/oslibdos.cpp

    r21346 r21406  
    394394        return ERROR_EAS_DIDNT_FIT;
    395395
     396    case ERROR_INIT_ROUTINE_FAILED: //295
     397        return ERROR_DLL_INIT_FAILED_W;
     398
    396399    // device driver specific error codes (I24)
    397400    case ERROR_USER_DEFINED_BASE + ERROR_I24_WRITE_PROTECT:
     
    587590      rc = DosMove((PSZ)lOemOldFile, (PSZ)lOemNewFile);
    588591      SetLastError(error2WinError(rc));
    589   }     
     592  }
    590593  return (rc == NO_ERROR);
    591594}
     
    981984        openMode |= OPEN_ACCESS_READONLY;
    982985   else
    983    //mgp: There seems to be a problem where OPEN_ACCESS_WRITEONLY gives an 
    984    //     Access Error (0x05) if the file is opened with 
    985    //     OPEN_ACTION_OPEN_IF_EXISTS.  So, in that case, change it to 
     986   //mgp: There seems to be a problem where OPEN_ACCESS_WRITEONLY gives an
     987   //     Access Error (0x05) if the file is opened with
     988   //     OPEN_ACTION_OPEN_IF_EXISTS.  So, in that case, change it to
    986989   //     OPEN_ACCESS_READWRITE
    987990   if(fuAccess & GENERIC_WRITE_W)
     
    10091012        openMode |= OPEN_FLAGS_DASD;
    10101013   }
    1011    
     1014
    10121015   int retry = 0;
    10131016   while (retry < 3)
     
    13141317  APIRET   rc;
    13151318  DWORD    newoffset;
    1316  
     1319
    13171320  switch(method)
    13181321  {
     
    15641567   DWORD  ulMode;
    15651568   APIRET rc;
    1566    
     1569
    15671570   rc = DosQueryFHState(hFile, &ulMode);
    15681571   if(rc != NO_ERROR) return error2WinError(rc);
     
    15741577       ulMode &= ~OPEN_FLAGS_NOINHERIT;
    15751578   }
    1576    else 
     1579   else
    15771580       ulMode |= OPEN_FLAGS_NOINHERIT;
    15781581
     
    22992302  {
    23002303    DosFindClose(hDir);
    2301    
     2304
    23022305    //Windows returns ERROR_FILE_NOT_FOUND if the file/directory is not present
    23032306    if(rc == ERROR_NO_MORE_FILES || rc == ERROR_PATH_NOT_FOUND) {
    2304          SetLastError(ERROR_FILE_NOT_FOUND_W); 
    2305     } 
     2307         SetLastError(ERROR_FILE_NOT_FOUND_W);
     2308    }
    23062309    else SetLastError(error2WinError(rc));
    23072310    return INVALID_HANDLE_VALUE_W;
     
    24352438       {
    24362439           lpszColon = CharPrevA(lOemFileName, lpszBackslash);
    2437            if(lpszColon && *lpszColon != ':') 
     2440           if(lpszColon && *lpszColon != ':')
    24382441           {//only rootdir is allowed to have terminating backslash
    24392442               *lpszBackslash = 0;
     
    31143117 APIRET  rc;
    31153118 HMODULE hModule = NULLHANDLE;
    3116  char    name[ CCHMAXPATH ];
    3117 
     3119 char    name[ CCHMAXPATH ] = { '\0' };
     3120
     3121//dprintf(("*** 1 %s", szModName));
    31183122  rc = DosLoadModule(name, CCHMAXPATH, szModName, &hModule);
     3123//dprintf(("*** 2 %d %x [%s]", rc, hModule, name));
     3124//HMODULE hm1 = NULLHANDLE, hm2 = NULLHANDLE;
     3125//DosQueryModuleHandle(szModName, &hm1);
     3126//APIRET rc2 = DosQueryModuleHandle("JVM.DLL", &hm2);
     3127//name[0] = '!';
     3128//name[1] = '\0';
     3129//if (!rc2) {
     3130//name[0] = '\0';
     3131//rc2 = DosQueryModuleName(hm2, CCHMAXPATH, name);
     3132//}
     3133//dprintf(("*** 3 %x %d %x [%s]", hm1, rc2, hm2, name));
    31193134  if(rc) {
    31203135      SetLastError(error2WinError(rc,ERROR_FILE_NOT_FOUND));
     
    33603375        dprintf(("DosPhysicalDisk error: return code = %u\n", rc));
    33613376        return 0;
    3362     } 
     3377    }
    33633378    else {
    33643379        dprintf(("DosPhysicalDisk:  %u partitionable disk(s)\n",usNumDrives));
Note: See TracChangeset for help on using the changeset viewer.