Ignore:
Timestamp:
Oct 26, 2000, 7:21:39 PM (25 years ago)
Author:
sandervl
Message:

registry fixes (heap corruption) + VirtualAlloc change

File:
1 edited

Legend:

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

    r4387 r4534  
    1 /* $Id: Fileio.cpp,v 1.43 2000-10-02 18:39:32 sandervl Exp $ */
     1/* $Id: Fileio.cpp,v 1.44 2000-10-26 17:21:38 sandervl Exp $ */
    22
    33/*
    44 * Win32 File IO API functions for OS/2
    55 *
    6  * Copyright 1998 Sander van Leeuwen
     6 * Copyright 1998-2000 Sander van Leeuwen
    77 * Copyright 1998 Patrick Haller
    88 *
     
    8989 int    namelen;
    9090
    91   dprintf(("FindFirstFileA %s", lpFileName));
    92   if(lpFileName == NULL || lpFindFileData == NULL) {
    93   SetLastError(ERROR_INVALID_PARAMETER);
    94   return -1;
    95   }
    96   namelen = strlen(lpFileName);
    97   if(lpFileName[namelen-1] == '\\') {
    98   filename = (char *)alloca(namelen+1);
    99   strcpy(filename, lpFileName);
    100   filename[namelen-1] = 0;
    101   }
    102   else  filename = (char *)lpFileName;
    103 
    104   return (HANDLE)OSLibDosFindFirst(filename,lpFindFileData);
     91    dprintf(("FindFirstFileA %s", lpFileName));
     92    if(lpFileName == NULL || lpFindFileData == NULL) {
     93        SetLastError(ERROR_INVALID_PARAMETER);
     94        return -1;
     95    }
     96    namelen = strlen(lpFileName);
     97    if(lpFileName[namelen-1] == '\\') {
     98        filename = (char *)alloca(namelen+1);
     99        strcpy(filename, lpFileName);
     100        filename[namelen-1] = 0;
     101    }
     102    else  filename = (char *)lpFileName;
     103
     104    return (HANDLE)OSLibDosFindFirst(filename,lpFindFileData);
    105105}
    106106//******************************************************************************
     
    112112              DWORD *,count)
    113113{
    114   return (HANDLE)OSLibDosFindFirstMulti(lpFileName,lpFindFileData,count);
     114    return (HANDLE)OSLibDosFindFirstMulti(lpFileName,lpFindFileData,count);
    115115}
    116116//******************************************************************************
     
    124124  WIN32_FIND_DATAA wfda;
    125125
    126   astring = UnicodeToAsciiString((LPWSTR)lpFileName);
    127   rc = (HANDLE)OSLibDosFindFirst(astring,&wfda);
    128 
    129   if(rc == -1) {
     126    astring = UnicodeToAsciiString((LPWSTR)lpFileName);
     127    dprintf(("FindFirstFileW %s", astring));
     128    rc = (HANDLE)OSLibDosFindFirst(astring,&wfda);
     129
     130    if(rc == -1) {
    130131        memset(lpFindFileData, 0, sizeof(WIN32_FIND_DATAW));
    131   }
    132   else {
     132    }
     133    else {
    133134        // convert back the result structure
    134135        memcpy(lpFindFileData,
     
    143144                      wfda.cAlternateFileName,
    144145                      sizeof(wfda.cAlternateFileName));
    145   }
    146   FreeAsciiString(astring);
    147   return(rc);
     146    }
     147    FreeAsciiString(astring);
     148    return(rc);
    148149}
    149150//******************************************************************************
     
    153154              WIN32_FIND_DATAA *, lpFindFileData)
    154155{
    155   return OSLibDosFindNext(hFindFile,lpFindFileData);
     156    return OSLibDosFindNext(hFindFile,lpFindFileData);
    156157}
    157158//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.