os2: several warning fixes.

mostly those "W007: '&array' may not produce intended result" warnings
from Watcom, visible only in C++ mode.  one or two others here & there.
This commit is contained in:
Ozkan Sezer 2020-10-14 23:01:02 +03:00
parent f9af19f51d
commit aa790837eb
10 changed files with 49 additions and 55 deletions

View File

@ -61,8 +61,8 @@ static int _MCIError(PSZ pszFunc, ULONG ulResult)
{ {
CHAR acBuf[128]; CHAR acBuf[128];
mciGetErrorString( ulResult, (PCHAR)&acBuf, sizeof(acBuf) ); mciGetErrorString( ulResult, acBuf, sizeof(acBuf) );
return SDL_SetError( "[%s] %s", pszFunc, &acBuf ); return SDL_SetError( "[%s] %s", pszFunc, acBuf );
} }
static void _mixIOError(PSZ pszFunction, ULONG ulRC) static void _mixIOError(PSZ pszFunction, ULONG ulRC)
@ -128,7 +128,7 @@ static void OS2_DetectDevices(void)
ULONG ulHandle = 0; ULONG ulHandle = 0;
acBuf[0] = '\0'; acBuf[0] = '\0';
stMCISysInfo.pszReturn = &acBuf; stMCISysInfo.pszReturn = acBuf;
stMCISysInfo.ulRetSize = sizeof(acBuf); stMCISysInfo.ulRetSize = sizeof(acBuf);
stMCISysInfo.usDeviceType = MCI_DEVTYPE_AUDIO_AMPMIX; stMCISysInfo.usDeviceType = MCI_DEVTYPE_AUDIO_AMPMIX;
ulRC = mciSendCommand( 0, MCI_SYSINFO, MCI_WAIT | MCI_SYSINFO_QUANTITY, ulRC = mciSendCommand( 0, MCI_SYSINFO, MCI_WAIT | MCI_SYSINFO_QUANTITY,
@ -145,7 +145,7 @@ static void OS2_DetectDevices(void)
stSysInfoParams.ulNumber++ ) stSysInfoParams.ulNumber++ )
{ {
// Get device install name. // Get device install name.
stSysInfoParams.pszReturn = &acBuf; stSysInfoParams.pszReturn = acBuf;
stSysInfoParams.ulRetSize = sizeof( acBuf ); stSysInfoParams.ulRetSize = sizeof( acBuf );
stSysInfoParams.usDeviceType = MCI_DEVTYPE_AUDIO_AMPMIX; stSysInfoParams.usDeviceType = MCI_DEVTYPE_AUDIO_AMPMIX;
ulRC = mciSendCommand( 0, MCI_SYSINFO, MCI_WAIT | MCI_SYSINFO_INSTALLNAME, ulRC = mciSendCommand( 0, MCI_SYSINFO, MCI_WAIT | MCI_SYSINFO_INSTALLNAME,
@ -159,7 +159,7 @@ static void OS2_DetectDevices(void)
// Get textual product description. // Get textual product description.
stSysInfoParams.ulItem = MCI_SYSINFO_QUERY_DRIVER; stSysInfoParams.ulItem = MCI_SYSINFO_QUERY_DRIVER;
stSysInfoParams.pSysInfoParm = &stLogDevice; stSysInfoParams.pSysInfoParm = &stLogDevice;
strcpy( &stLogDevice.szInstallName, stSysInfoParams.pszReturn ); strcpy( stLogDevice.szInstallName, stSysInfoParams.pszReturn );
ulRC = mciSendCommand( 0, MCI_SYSINFO, MCI_WAIT | MCI_SYSINFO_ITEM, ulRC = mciSendCommand( 0, MCI_SYSINFO, MCI_WAIT | MCI_SYSINFO_ITEM,
&stSysInfoParams, 0 ); &stSysInfoParams, 0 );
if ( ulRC != NO_ERROR ) if ( ulRC != NO_ERROR )
@ -169,9 +169,9 @@ static void OS2_DetectDevices(void)
} }
ulHandle++; ulHandle++;
SDL_AddAudioDevice( 0, &stLogDevice.szProductInfo, (void *)(ulHandle) ); SDL_AddAudioDevice( 0, stLogDevice.szProductInfo, (void *)(ulHandle) );
ulHandle++; ulHandle++;
SDL_AddAudioDevice( 1, &stLogDevice.szProductInfo, (void *)(ulHandle) ); SDL_AddAudioDevice( 1, stLogDevice.szProductInfo, (void *)(ulHandle) );
} }
} }
@ -226,11 +226,9 @@ static void OS2_CloseDevice(_THIS)
return; return;
/* Close up audio */ /* Close up audio */
if ( pAData->usDeviceId != (USHORT)~0 ) if ( pAData->usDeviceId != (USHORT)~0 )
{ {
// Device is open. // Device is open.
if ( pAData->stMCIMixSetup.ulBitsPerSample != 0 ) if ( pAData->stMCIMixSetup.ulBitsPerSample != 0 )
{ {
// Mixer was initialized. // Mixer was initialized.

View File

@ -47,7 +47,7 @@ static BOOL _loadDLL(PSZ pszName, PSZ pszIconvOpen, PSZ pszIconv,
ULONG ulRC; ULONG ulRC;
CHAR acError[256]; CHAR acError[256];
ulRC = DosLoadModule( &acError, sizeof(acError), pszName, &hmIconv ); ulRC = DosLoadModule( acError, sizeof(acError), pszName, &hmIconv );
if ( ulRC != NO_ERROR ) if ( ulRC != NO_ERROR )
{ {
debug( "DLL not loaded: %s", &acError ); debug( "DLL not loaded: %s", &acError );

View File

@ -288,7 +288,7 @@ char * os2cpToName(unsigned long cp)
ULONG aulCP[3]; ULONG aulCP[3];
ULONG cCP; ULONG cCP;
if ( DosQueryCp( sizeof(aulCP), &aulCP, &cCP ) != NO_ERROR ) if ( DosQueryCp( sizeof(aulCP), aulCP, &cCP ) != NO_ERROR )
return NULL; return NULL;
cp = aulCP[0]; cp = aulCP[0];
@ -336,7 +336,7 @@ unsigned long os2cpFromName(char *cp)
ULONG aulCP[3]; ULONG aulCP[3];
ULONG cCP; ULONG cCP;
return DosQueryCp( sizeof(aulCP), &aulCP, &cCP ) != NO_ERROR ? 0 : aulCP[0]; return DosQueryCp( sizeof(aulCP), aulCP, &cCP ) != NO_ERROR ? 0 : aulCP[0];
} }
while( isspace( *cp ) ) cp++; while( isspace( *cp ) ) cp++;
@ -348,17 +348,17 @@ unsigned long os2cpFromName(char *cp)
if ( ulNext >= sizeof(acBuf) ) if ( ulNext >= sizeof(acBuf) )
return 0; return 0;
memcpy( &acBuf, cp, ulNext ); memcpy( acBuf, cp, ulNext );
acBuf[ulNext] = '\0'; acBuf[ulNext] = '\0';
strupr( &acBuf ); strupr( acBuf );
lCmp = strcmp( aName2CP[0].pszName, &acBuf ); lCmp = strcmp( aName2CP[0].pszName, acBuf );
if ( lCmp > 0 ) if ( lCmp > 0 )
return 0; return 0;
else if ( lCmp == 0 ) else if ( lCmp == 0 )
return aName2CP[0].ulCode; return aName2CP[0].ulCode;
lCmp = strcmp( aName2CP[ulHi].pszName, &acBuf ); lCmp = strcmp( aName2CP[ulHi].pszName, acBuf );
if ( lCmp < 0 ) if ( lCmp < 0 )
return 0; return 0;
else if ( lCmp == 0 ) else if ( lCmp == 0 )
@ -368,7 +368,7 @@ unsigned long os2cpFromName(char *cp)
{ {
ulNext = ( ulLo + ulHi ) / 2; ulNext = ( ulLo + ulHi ) / 2;
lCmp = strcmp( aName2CP[ulNext].pszName, &acBuf ); lCmp = strcmp( aName2CP[ulNext].pszName, acBuf );
if ( lCmp < 0 ) if ( lCmp < 0 )
ulLo = ulNext; ulLo = ulNext;
else if ( lCmp > 0 ) else if ( lCmp > 0 )

View File

@ -49,7 +49,7 @@ static int _createUconvObj(const char *code, UconvObject *uobj)
} }
} }
return UniCreateUconvObject( &uc_code, uobj ); return UniCreateUconvObject( uc_code, uobj );
} }
static int uconv_open(const char *code, UconvObject *uobj) static int uconv_open(const char *code, UconvObject *uobj)
@ -68,8 +68,8 @@ static int uconv_open(const char *code, UconvObject *uobj)
unsigned long cp = os2cpFromName( (char *)code ); unsigned long cp = os2cpFromName( (char *)code );
char cp_name[16]; char cp_name[16];
if ( cp != 0 && _snprintf( &cp_name, sizeof(cp_name), "IBM-%u", cp ) > 0 ) if ( cp != 0 && _snprintf( cp_name, sizeof(cp_name), "IBM-%u", cp ) > 0 )
rc = _createUconvObj( &cp_name, uobj ); rc = _createUconvObj( cp_name, uobj );
} }
return rc; return rc;

View File

@ -64,7 +64,7 @@ SDL_GetBasePath(void)
} }
cbResult = pcEnd - pib->pib_pchcmd; cbResult = pcEnd - pib->pib_pchcmd;
SDL_memcpy( &acBuf, pib->pib_pchcmd, cbResult ); SDL_memcpy( acBuf, pib->pib_pchcmd, cbResult );
acBuf[cbResult] = '\0'; acBuf[cbResult] = '\0';
return OS2_SysToUTF8( acBuf ); return OS2_SysToUTF8( acBuf );
@ -91,12 +91,12 @@ SDL_GetPrefPath(const char *org, const char *app)
return NULL; return NULL;
} }
lPosApp = SDL_snprintf( &acBuf, sizeof(acBuf) - 1, "%s\\%s", pszPath, pszOrg ); lPosApp = SDL_snprintf( acBuf, sizeof(acBuf) - 1, "%s\\%s", pszPath, pszOrg );
SDL_free( pszOrg ); SDL_free( pszOrg );
if ( lPosApp == -1 ) if ( lPosApp == -1 )
return NULL; return NULL;
mkdir( &acBuf ); mkdir( acBuf );
pszApp = OS2_UTF8ToSys( app ); pszApp = OS2_UTF8ToSys( app );
if ( pszApp == NULL ) if ( pszApp == NULL )
@ -110,11 +110,11 @@ SDL_GetPrefPath(const char *org, const char *app)
SDL_free( pszApp ); SDL_free( pszApp );
if ( lPosOrg == -1 ) if ( lPosOrg == -1 )
return NULL; return NULL;
mkdir( &acBuf ); mkdir( acBuf );
*((PUSHORT)&acBuf[lPosApp + lPosOrg]) = (USHORT)'\0\\'; *((PUSHORT)&acBuf[lPosApp + lPosOrg]) = (USHORT)'\0\\';
return OS2_SysToUTF8( &acBuf ); return OS2_SysToUTF8( acBuf );
} }
#endif /* SDL_FILESYSTEM_OS2 */ #endif /* SDL_FILESYSTEM_OS2 */

View File

@ -40,10 +40,9 @@ SDL_LoadObject(const char *sofile)
PSZ pszModName = OS2_UTF8ToSys( sofile ); PSZ pszModName = OS2_UTF8ToSys( sofile );
CHAR acError[256]; CHAR acError[256];
ulRC = DosLoadModule( &acError, sizeof(acError), pszModName, &hModule ); ulRC = DosLoadModule(acError, sizeof(acError), pszModName, &hModule);
SDL_free( pszModName ); SDL_free(pszModName);
if ( ulRC != NO_ERROR ) if (ulRC != NO_ERROR) {
{
SDL_SetError( "Failed loading %s (E%u)", acError, ulRC ); SDL_SetError( "Failed loading %s (E%u)", acError, ulRC );
return NULL; return NULL;
} }
@ -57,9 +56,8 @@ SDL_LoadFunction(void *handle, const char *name)
ULONG ulRC; ULONG ulRC;
PFN pFN; PFN pFN;
ulRC = DosQueryProcAddr( (HMODULE)handle, 0, name, &pFN ); ulRC = DosQueryProcAddr((HMODULE)handle, 0, name, &pFN);
if ( ulRC != NO_ERROR ) if (ulRC != NO_ERROR) {
{
SDL_SetError( "Failed loading procedure %s (E%u)", name, ulRC ); SDL_SetError( "Failed loading procedure %s (E%u)", name, ulRC );
return NULL; return NULL;
} }
@ -70,7 +68,7 @@ SDL_LoadFunction(void *handle, const char *name)
void void
SDL_UnloadObject(void *handle) SDL_UnloadObject(void *handle)
{ {
if ( handle != NULL ) if (handle != NULL)
DosFreeModule( (HMODULE)handle ); DosFreeModule( (HMODULE)handle );
} }

View File

@ -72,7 +72,7 @@ static BOOL voQueryInfo(PVIDEOOUTPUTINFO pInfo)
// Query information about display hardware from DIVE. // Query information about display hardware from DIVE.
sDiveCaps.pFormatData = &fccFormats; sDiveCaps.pFormatData = fccFormats;
sDiveCaps.ulFormatLength = 100; sDiveCaps.ulFormatLength = 100;
sDiveCaps.ulStructLen = sizeof(DIVE_CAPS); sDiveCaps.ulStructLen = sizeof(DIVE_CAPS);

View File

@ -68,10 +68,10 @@ static VOID _wmInitDlg(HWND hwnd, PMSGBOXDLGDATA pDlgData)
while( ( hWndNext = WinGetNextWindow( hEnum ) ) != NULLHANDLE ) while( ( hWndNext = WinGetNextWindow( hEnum ) ) != NULLHANDLE )
{ {
if ( WinQueryClassName( hWndNext, sizeof(acBuf), &acBuf ) == 0 ) if ( WinQueryClassName( hWndNext, sizeof(acBuf), acBuf ) == 0 )
continue; continue;
if ( strcmp( &acBuf, "#3" ) == 0 ) // Class name of button. if ( strcmp( acBuf, "#3" ) == 0 ) // Class name of button.
{ {
if ( cButtons < sizeof(aButtons) / sizeof(struct _BUTTON) ) if ( cButtons < sizeof(aButtons) / sizeof(struct _BUTTON) )
{ {
@ -91,8 +91,8 @@ static VOID _wmInitDlg(HWND hwnd, PMSGBOXDLGDATA pDlgData)
for( ulIdx = 0; ulIdx < cButtons; ulIdx++ ) for( ulIdx = 0; ulIdx < cButtons; ulIdx++ )
{ {
// Query size of text in window coordinates. // Query size of text in window coordinates.
cbBuf = WinQueryWindowText( aButtons[ulIdx].hwnd, sizeof(acBuf), &acBuf ); cbBuf = WinQueryWindowText( aButtons[ulIdx].hwnd, sizeof(acBuf), acBuf );
GpiQueryTextBox( hps, cbBuf, acBuf, TXTBOX_COUNT, &aptText ); GpiQueryTextBox( hps, cbBuf, acBuf, TXTBOX_COUNT, aptText );
aptText[TXTBOX_TOPRIGHT].x -= aptText[TXTBOX_BOTTOMLEFT].x; aptText[TXTBOX_TOPRIGHT].x -= aptText[TXTBOX_BOTTOMLEFT].x;
aptText[TXTBOX_TOPRIGHT].y -= aptText[TXTBOX_BOTTOMLEFT].y; aptText[TXTBOX_TOPRIGHT].y -= aptText[TXTBOX_BOTTOMLEFT].y;
// Convert text size to dialog coordinates. // Convert text size to dialog coordinates.
@ -154,7 +154,7 @@ static VOID _wmInitDlg(HWND hwnd, PMSGBOXDLGDATA pDlgData)
aptText[1].x = aButtons[ulIdx].ulCX; aptText[1].x = aButtons[ulIdx].ulCX;
aptText[1].y = ulButtonsCY; aptText[1].y = ulButtonsCY;
// Convert to window coordinates. // Convert to window coordinates.
WinMapDlgPoints( hwnd, &aptText, 2, TRUE ); WinMapDlgPoints( hwnd, aptText, 2, TRUE );
WinSetWindowPos( aButtons[ulIdx].hwnd, HWND_TOP, WinSetWindowPos( aButtons[ulIdx].hwnd, HWND_TOP,
aptText[0].x, aptText[0].y, aptText[1].x, aptText[1].y, aptText[0].x, aptText[0].y, aptText[1].x, aptText[1].y,
@ -229,10 +229,8 @@ static HWND _makeDlg(const SDL_MessageBoxData *messageboxdata)
PSZ pszBtnText; PSZ pszBtnText;
ULONG cbBtnText; ULONG cbBtnText;
HWND hwnd; HWND hwnd;
SDL_MessageBoxColor *pSDLColors = messageboxdata->colorScheme == NULL const SDL_MessageBoxColor *pSDLColors = (messageboxdata->colorScheme == NULL)? NULL : messageboxdata->colorScheme->colors;
? NULL const SDL_MessageBoxColor *pSDLColor;
: (SDL_MessageBoxColor *)&messageboxdata->colorScheme->colors;
SDL_MessageBoxColor *pSDLColor;
MSGBOXDLGDATA stDlgData; MSGBOXDLGDATA stDlgData;
/* Build a dialog tamplate in memory */ /* Build a dialog tamplate in memory */
@ -256,7 +254,7 @@ static HWND _makeDlg(const SDL_MessageBoxData *messageboxdata)
( 48 * cSDLBtnData ); /* PP for buttons. */ ( 48 * cSDLBtnData ); /* PP for buttons. */
// Allocate memory for the dialog template. // Allocate memory for the dialog template.
pTemplate = SDL_malloc( cbTemplate ); pTemplate = (PDLGTEMPLATE) SDL_malloc( cbTemplate );
// Pointer on data for dialog items in allocated memory. // Pointer on data for dialog items in allocated memory.
pcDlgData = &((PCHAR)pTemplate)[ sizeof(DLGTEMPLATE) + pcDlgData = &((PCHAR)pTemplate)[ sizeof(DLGTEMPLATE) +
( (2 + cSDLBtnData) * sizeof(DLGTITEM) ) ]; ( (2 + cSDLBtnData) * sizeof(DLGTITEM) ) ];
@ -276,7 +274,7 @@ static HWND _makeDlg(const SDL_MessageBoxData *messageboxdata)
/* First item info - frame */ /* First item info - frame */
pDlgItem = &pTemplate->adlgti; pDlgItem = pTemplate->adlgti;
pDlgItem->fsItemStatus = 0; /* Reserved? */ pDlgItem->fsItemStatus = 0; /* Reserved? */
/* Number of dialog item child windows owned by this item. */ /* Number of dialog item child windows owned by this item. */
pDlgItem->cChildren = 2 + cSDLBtnData; // Ststic text + buttons. pDlgItem->cChildren = 2 + cSDLBtnData; // Ststic text + buttons.

View File

@ -330,9 +330,9 @@ static VOID _wmChar(PWINDATA pWinData, MPARAM mp1, MPARAM mp2)
if ( (ulFlags & KC_CHAR) != 0 ) if ( (ulFlags & KC_CHAR) != 0 )
{ {
CHAR acUTF8[4]; CHAR acUTF8[4];
LONG lRC = StrUTF8( 1, &acUTF8, sizeof(acUTF8), (PSZ)&ulCharCode, 1 ); LONG lRC = StrUTF8( 1, acUTF8, sizeof(acUTF8), (PSZ)&ulCharCode, 1 );
SDL_SendKeyboardText( lRC > 0 ? &acUTF8 : (PSZ)&ulCharCode ); SDL_SendKeyboardText( lRC > 0 ? acUTF8 : (PSZ)&ulCharCode );
} }
} }
@ -421,13 +421,13 @@ static MRESULT _wmDrop(PWINDATA pWinData, PDRAGINFO pDragInfo)
{ {
// Get file name from the item. // Get file name from the item.
DrgQueryStrName( pDragItem->hstrContainerName, DrgQueryStrName( pDragItem->hstrContainerName,
sizeof(acFName), &acFName ); sizeof(acFName), acFName );
pcFName = strchr( &acFName, '\0' ); pcFName = strchr( acFName, '\0' );
DrgQueryStrName( pDragItem->hstrSourceName, DrgQueryStrName( pDragItem->hstrSourceName,
sizeof(acFName) - (pcFName - &acFName), pcFName ); sizeof(acFName) - (pcFName - acFName), pcFName );
// Send to SDL full file name converted to UTF-8. // Send to SDL full file name converted to UTF-8.
pcFName = OS2_SysToUTF8( &acFName ); pcFName = OS2_SysToUTF8( acFName );
SDL_SendDropFile( pcFName ); SDL_SendDropFile( pcFName );
SDL_free( pcFName ); SDL_free( pcFName );
@ -852,7 +852,7 @@ static int OS2_CreateWindowFrom(_THIS, SDL_Window *window, const void *data)
// Get client and frame window handles. // Get client and frame window handles.
WinQueryClassName( hwndUser, sizeof(acBuf), acBuf ); WinQueryClassName( hwndUser, sizeof(acBuf), acBuf );
if ( !WinQueryClassInfo( pVData->hab, &acBuf, &stCI ) ) if ( !WinQueryClassInfo( pVData->hab, acBuf, &stCI ) )
return SDL_SetError( "Cannot get user window class information" ); return SDL_SetError( "Cannot get user window class information" );
if ( (stCI.flClassStyle & CS_FRAME) == 0 ) if ( (stCI.flClassStyle & CS_FRAME) == 0 )
@ -879,7 +879,7 @@ static int OS2_CreateWindowFrom(_THIS, SDL_Window *window, const void *data)
hwndFrame = hwndUser; hwndFrame = hwndUser;
WinQueryClassName( hwnd, sizeof(acBuf), acBuf ); WinQueryClassName( hwnd, sizeof(acBuf), acBuf );
if ( !WinQueryClassInfo( pVData->hab, &acBuf, &stCI ) ) if ( !WinQueryClassInfo( pVData->hab, acBuf, &stCI ) )
return SDL_SetError( "Cannot get client window class information" ); return SDL_SetError( "Cannot get client window class information" );
} }

View File

@ -103,7 +103,7 @@ static BOOL _vmanInit()
return TRUE; return TRUE;
// Load vman.dll // Load vman.dll
ulRC = DosLoadModule( &acBuf, sizeof(acBuf), "VMAN", &hmodVMan ); ulRC = DosLoadModule( acBuf, sizeof(acBuf), "VMAN", &hmodVMan );
if ( ulRC != NO_ERROR ) if ( ulRC != NO_ERROR )
{ {
debug( "Could not load VMAN.DLL, rc = %u : %s", ulRC, &acBuf ); debug( "Could not load VMAN.DLL, rc = %u : %s", ulRC, &acBuf );