Changeset 4366 for trunk/src


Ignore:
Timestamp:
Oct 2, 2000, 3:33:52 PM (25 years ago)
Author:
phaller
Message:

.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wnetap32/wnetap32.cpp

    r4362 r4366  
    1 /* $Id: wnetap32.cpp,v 1.7 2000-10-02 13:03:01 phaller Exp $ */
     1/* $Id: wnetap32.cpp,v 1.8 2000-10-02 13:32:44 phaller Exp $ */
    22
    33/*
     
    28252825        struct wksta_info_10 *pOS2wki10 = (struct wksta_info_10 *)pOS2Buffer;
    28262826       
    2827         rc = OS2NetApiBufferAllocate(sizeof(pwki100), (LPVOID*)&pwki100);
     2827        // calculate new size for target buffer
     2828        int iSizeComputername = (lstrlenA((LPCSTR)pOS2wki10->wki10_computername) + 1) * 2;
     2829        int iSizeLangroup = (lstrlenA((LPCSTR)pOS2wki10->wki10_langroup) + 1) * 2;
     2830        int iSize = sizeof(pwki100) + iSizeComputername + iSizeLangroup;
     2831
     2832        // pointer to the data area
     2833        PBYTE pData = (PBYTE)pwki100 + sizeof(pwki100);
     2834       
     2835        rc = OS2NetApiBufferAllocate(iSize, (LPVOID*)&pwki100);
    28282836        if (!rc)
    28292837        {
    28302838          pwki100->wki100_platform_id = 0; //@@@PH dummy
    2831           pwki100->wki100_computername = HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)pOS2wki10->wki10_computername);
    2832           pwki100->wki100_langroup = HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)pOS2wki10->wki10_langroup);
     2839          pwki100->wki100_computername = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki10->wki10_computername);
     2840          pData += iSizeComputername;
     2841          pwki100->wki100_langroup = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki10->wki10_langroup);
     2842          pData += iSizeLangroup;
    28332843          pwki100->wki100_ver_major = pOS2wki10->wki10_ver_major;
    28342844          pwki100->wki100_ver_minor = pOS2wki10->wki10_ver_minor;
     
    28462856        struct wksta_info_1 *pOS2wki1 = (struct wksta_info_1 *)pOS2Buffer;
    28472857       
    2848         rc = OS2NetApiBufferAllocate(sizeof(pwki101), (LPVOID*)&pwki101);
     2858        // calculate new size for target buffer
     2859        int iSizeComputername = (lstrlenA((LPCSTR)pOS2wki1->wki1_computername) + 1) * 2;
     2860        int iSizeLangroup = (lstrlenA((LPCSTR)pOS2wki1->wki1_langroup) + 1) * 2;
     2861        int iSizeLanroot  = (lstrlenA((LPCSTR)pOS2wki1->wki1_root) + 1) * 2;
     2862        int iSize = sizeof(pwki101) + iSizeComputername + iSizeLangroup + iSizeLanroot;
     2863
     2864        // pointer to the data area
     2865        PBYTE pData = (PBYTE)pwki101 + sizeof(pwki101);
     2866       
     2867        rc = OS2NetApiBufferAllocate(iSize, (LPVOID*)&pwki101);
    28492868        if (!rc)
    28502869        {
    28512870          pwki101->wki101_platform_id = 0; //@@@PH dummy
    2852           pwki101->wki101_computername = HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)pOS2wki1->wki1_computername);
    2853           pwki101->wki101_langroup = HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)pOS2wki1->wki1_langroup);
     2871          pwki101->wki101_computername = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki1->wki1_computername);
     2872          pData += iSizeComputername;
     2873          pwki101->wki101_langroup = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki1->wki1_langroup);
     2874          pData += iSizeLangroup;
    28542875          pwki101->wki101_ver_major = pOS2wki1->wki1_ver_major;
    28552876          pwki101->wki101_ver_minor = pOS2wki1->wki1_ver_minor;
    2856           pwki101->wki101_lanroot = HEAP_strdupAtoW ( GetProcessHeap(), 0, (LPCSTR)pOS2wki1->wki1_root);
     2877          pwki101->wki101_lanroot = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki1->wki1_root);
     2878          pData += iSizeLanroot;
    28572879        }
    28582880
     
    28682890        struct wksta_info_1 *pOS2wki1 = (struct wksta_info_1 *)pOS2Buffer;
    28692891       
    2870         rc = OS2NetApiBufferAllocate(sizeof(pwki102), (LPVOID*)&pwki102);
     2892        // calculate new size for target buffer
     2893        int iSizeComputername = (lstrlenA((LPCSTR)pOS2wki1->wki1_computername) + 1) * 2;
     2894        int iSizeLangroup = (lstrlenA((LPCSTR)pOS2wki1->wki1_langroup) + 1) * 2;
     2895        int iSizeLanroot  = (lstrlenA((LPCSTR)pOS2wki1->wki1_root) + 1) * 2;
     2896        int iSize = sizeof(pwki102) + iSizeComputername + iSizeLangroup + iSizeLanroot;
     2897
     2898        // pointer to the data area
     2899        PBYTE pData = (PBYTE)pwki102 + sizeof(pwki102);
     2900       
     2901        rc = OS2NetApiBufferAllocate(iSize, (LPVOID*)&pwki102);
    28712902        if (!rc)
    28722903        {
    28732904          pwki102->wki102_platform_id = 0; //@@@PH dummy
    2874           pwki102->wki102_computername = HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)pOS2wki1->wki1_computername);
    2875           pwki102->wki102_langroup = HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)pOS2wki1->wki1_langroup);
     2905          pwki102->wki102_computername = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki1->wki1_computername);
     2906          pData += iSizeComputername;
     2907          pwki102->wki102_langroup = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki1->wki1_langroup);
     2908          pData += iSizeLangroup;
    28762909          pwki102->wki102_ver_major = pOS2wki1->wki1_ver_major;
    28772910          pwki102->wki102_ver_minor = pOS2wki1->wki1_ver_minor;
    2878           pwki102->wki102_lanroot = HEAP_strdupAtoW ( GetProcessHeap(), 0, (LPCSTR)pOS2wki1->wki1_root);
     2911          pwki102->wki102_lanroot = lstrcpyAtoW( (LPWSTR)pData, (LPCSTR)pOS2wki1->wki1_root);
     2912          pData += iSizeLanroot;
    28792913          pwki102->wki102_logged_on_users = 0; // @@@PH dummy
    28802914        }
Note: See TracChangeset for help on using the changeset viewer.