Ignore:
Timestamp:
Oct 2, 2000, 6:04:51 PM (25 years ago)
Author:
phaller
Message:

Wrapper macro support

File:
1 edited

Legend:

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

    r4224 r4380  
    1 /* $Id: environ.cpp,v 1.6 2000-09-08 18:07:49 sandervl Exp $ */
     1/* $Id: environ.cpp,v 1.7 2000-10-02 16:04:51 phaller Exp $ */
    22
    33/*
     
    3333#include "dbglocal.h"
    3434
    35 //******************************************************************************
    36 //******************************************************************************
    37 LPSTR WIN32API GetEnvironmentStringsA(void)
    38 {
    39     dprintf(("KERNEL32:  OS2GetEnvironmentStringsA\n"));
    40     return (LPSTR) O32_GetEnvironmentStrings();
    41 }
    42 //******************************************************************************
    43 //******************************************************************************
    44 LPWSTR WIN32API GetEnvironmentStringsW(VOID)
    45 {
    46  char *envstrings = (char *)O32_GetEnvironmentStrings();
    47  char *tmp;
    48  LPWSTR wenvstrings;
    49  int len, i;
    50 
    51   dprintf(("KERNEL32:  GetEnvironmentStringsW\n"));
     35
     36ODINDEBUGCHANNEL(KERNEL32-ENVIRONMENT)
     37
     38
     39//******************************************************************************
     40//******************************************************************************
     41ODINFUNCTION0(LPSTR, GetEnvironmentStringsA)
     42{
     43  return (LPSTR) O32_GetEnvironmentStrings();
     44}
     45//******************************************************************************
     46//******************************************************************************
     47ODINFUNCTION0(LPWSTR, GetEnvironmentStringsW)
     48{
     49  char *envstrings = (char *)O32_GetEnvironmentStrings();
     50  char *tmp;
     51  LPWSTR wenvstrings;
     52  int len, i;
    5253
    5354  if(envstrings == NULL)
     
    7374//******************************************************************************
    7475//******************************************************************************
    75 BOOL WIN32API FreeEnvironmentStringsA(LPSTR envstrings)
    76 {
    77   dprintf(("KERNEL32:  FreeEnvironmentStringsA\n"));
     76ODINFUNCTION1(BOOL, FreeEnvironmentStringsA,
     77              LPSTR, envstrings)
     78{
    7879  return(TRUE);
    7980}
    8081//******************************************************************************
    8182//******************************************************************************
    82 BOOL WIN32API FreeEnvironmentStringsW(LPWSTR envstrings)
    83 {
    84   dprintf(("KERNEL32:  FreeEnvironmentStringsW\n"));
     83ODINFUNCTION1(BOOL, FreeEnvironmentStringsW,
     84              LPWSTR, envstrings)
     85{
    8586  free(envstrings);
    8687  return(TRUE);
     
    8889//******************************************************************************
    8990//******************************************************************************
    90 BOOL WIN32API SetEnvironmentVariableA(LPCSTR arg1, LPCSTR arg2)
    91 {
    92     dprintf(("KERNEL32:  SetEnvironmentVariable %s to %s\n", arg1, arg2));
    93     return O32_SetEnvironmentVariable(arg1, arg2);
    94 }
    95 //******************************************************************************
    96 //******************************************************************************
    97 BOOL WIN32API SetEnvironmentVariableW(LPCWSTR lpName, LPCWSTR lpValue)
    98 {
    99  char *asciiname, *asciivalue;
    100  BOOL  rc;
    101 
    102     dprintf(("KERNEL32:  OS2SetEnvironmentVariableW\n"));
    103     asciiname  = UnicodeToAsciiString((LPWSTR)lpName);
    104     asciivalue = UnicodeToAsciiString((LPWSTR)lpValue);
    105     rc = O32_SetEnvironmentVariable(asciiname, asciivalue);
    106     FreeAsciiString(asciivalue);
    107     FreeAsciiString(asciiname);
    108     return(rc);
    109 }
    110 //******************************************************************************
    111 //******************************************************************************
    112 DWORD WIN32API GetEnvironmentVariableA(LPCSTR arg1, LPSTR arg2, DWORD  arg3)
    113 {
    114     dprintf(("KERNEL32:  GetEnvironmentVariable %s\n", arg1));
    115     return O32_GetEnvironmentVariable(arg1, arg2, arg3);
    116 }
    117 //******************************************************************************
    118 //******************************************************************************
    119 DWORD WIN32API GetEnvironmentVariableW(LPCWSTR lpName, LPWSTR lpBuffer,
    120                                        DWORD nSize)
     91ODINFUNCTION2(BOOL, SetEnvironmentVariableA,
     92              LPCSTR, lpName,
     93              LPCSTR, lpValue)
     94{
     95  dprintf(("KERNEL32:  SetEnvironmentVariable %s to %s\n", lpName, lpValue));
     96  return O32_SetEnvironmentVariable(lpName, lpValue);
     97}
     98//******************************************************************************
     99//******************************************************************************
     100ODINFUNCTION2(BOOL, SetEnvironmentVariableW,
     101              LPCWSTR, lpName,
     102              LPCWSTR, lpValue)
     103{
     104  char *asciiname, *asciivalue;
     105  BOOL  rc;
     106
     107  asciiname  = UnicodeToAsciiString((LPWSTR)lpName);
     108  asciivalue = UnicodeToAsciiString((LPWSTR)lpValue);
     109  dprintf(("KERNEL32:  SetEnvironmentVariable %s to %s\n", asciiname, asciivalue));
     110  rc = O32_SetEnvironmentVariable(asciiname, asciivalue);
     111  FreeAsciiString(asciivalue);
     112  FreeAsciiString(asciiname);
     113  return(rc);
     114}
     115//******************************************************************************
     116//******************************************************************************
     117ODINFUNCTION3(DWORD,  GetEnvironmentVariableA,
     118              LPCSTR, lpName,
     119              LPSTR,  lpBuffer,
     120              DWORD,  nSize)
     121{
     122  return O32_GetEnvironmentVariable(lpName, lpBuffer, nSize);
     123}
     124//******************************************************************************
     125//******************************************************************************
     126ODINFUNCTION3(DWORD, GetEnvironmentVariableW,
     127              LPCWSTR, lpName,
     128              LPWSTR,  lpBuffer,
     129              DWORD,   nSize)
    121130{
    122131  char *astring, *asciibuffer;
    123132  DWORD rc;
    124133
    125     dprintf(("KERNEL32:  OS2GetEnvironmentVariableW\n"));
    126     asciibuffer = (char *)malloc(nSize+1);
    127     *asciibuffer = 0;
    128     astring     = UnicodeToAsciiString((LPWSTR)lpName);
    129 
    130     rc = O32_GetEnvironmentVariable(astring, asciibuffer, nSize);
    131     AsciiToUnicode(asciibuffer, lpBuffer);
    132     FreeAsciiString(astring);
    133     free(asciibuffer);
    134     return(rc);
     134  asciibuffer = (char *)malloc(nSize+1);
     135  *asciibuffer = 0;
     136  astring     = UnicodeToAsciiString((LPWSTR)lpName);
     137
     138  rc = O32_GetEnvironmentVariable(astring, asciibuffer, nSize);
     139  AsciiToUnicode(asciibuffer, lpBuffer);
     140  FreeAsciiString(astring);
     141  free(asciibuffer);
     142  return(rc);
    135143}
    136144/***********************************************************************
     
    169177 *****************************************************************************/
    170178
    171 DWORD WIN32API ExpandEnvironmentStringsA( LPCSTR src, LPSTR dst, DWORD count )
    172 {
    173     DWORD len, total_size = 1;  /* 1 for terminating '\0' */
    174     LPCSTR p, var;
    175 
    176     dprintf(("KERNEL32:ExpandEnvironmentStringsA '%s', %08x, %08x",
    177               src, dst, count
    178               ));
     179ODINFUNCTION3(DWORD;  ExpandEnvironmentStringsA,
     180              LPCSTR, src,
     181              LPSTR,  dst,
     182              DWORD,  count)
     183{
     184  DWORD len, total_size = 1;  /* 1 for terminating '\0' */
     185  LPCSTR p, var;
     186
     187  dprintf(("KERNEL32:ExpandEnvironmentStringsA '%s', %08x, %08x",
     188           src, dst, count
     189          ));
    179190
    180191    if (!count) dst = NULL;
     
    230241        *dst = '\0';
    231242    }
    232     dprintf(("KERNEL32:ExpandEnvironmentStringsA returned %s %d",
    233               dst, total_size));
    234243    return total_size;
    235244}
     
    254263 *****************************************************************************/
    255264
    256 DWORD WIN32API ExpandEnvironmentStringsW(LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize)
    257 {
    258     LPSTR srcA = HEAP_strdupWtoA( GetProcessHeap(), 0, lpSrc );
    259     LPSTR dstA = lpDst ? (LPSTR)HeapAlloc( GetProcessHeap(), 0, nSize ) : NULL;
    260 
    261     dprintf(("KERNEL32:ExpandEnvironmentStringsW(%08x,%08x,%08x)", lpSrc, lpDst, nSize));
    262 
    263     DWORD ret  = ExpandEnvironmentStringsA( srcA, dstA, nSize );
    264     if (dstA)
    265     {
    266         lstrcpyAtoW( lpDst, dstA );
    267         HeapFree( GetProcessHeap(), 0, dstA );
    268     }
    269     HeapFree( GetProcessHeap(), 0, srcA );
    270     return ret;
    271 }
    272 //******************************************************************************
    273 //******************************************************************************
     265ODINFUNCTION3(DWORD;   ExpandEnvironmentStringsW,
     266              LPCWSTR, src,
     267              LPWSTR,  dst,
     268              DWORD,   count)
     269{
     270  LPSTR srcA = HEAP_strdupWtoA( GetProcessHeap(), 0, lpSrc );
     271  LPSTR dstA = lpDst ? (LPSTR)HeapAlloc( GetProcessHeap(), 0, nSize ) : NULL;
     272
     273  dprintf(("KERNEL32:ExpandEnvironmentStringsW(%08x,%08x,%08x)", lpSrc, lpDst, nSize));
     274
     275  DWORD ret  = ExpandEnvironmentStringsA( srcA, dstA, nSize );
     276  if (dstA)
     277    {
     278      lstrcpyAtoW( lpDst, dstA );
     279      HeapFree( GetProcessHeap(), 0, dstA );
     280    }
     281  HeapFree( GetProcessHeap(), 0, srcA );
     282  return ret;
     283}
     284//******************************************************************************
     285//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.