Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile time warnings #29

Open
kloczek opened this issue Aug 24, 2019 · 2 comments
Open

Compile time warnings #29

kloczek opened this issue Aug 24, 2019 · 2 comments

Comments

@kloczek
Copy link

kloczek commented Aug 24, 2019

logPeekMsg.c: In function 'logPeekMsg':
logPeekMsg.c:48:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   48 |     if ( lstEOL( hLog->hMessages ) )
      |     ^~
logPeekMsg.c:51:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   51 |  return LOG_SUCCESS;
      |  ^~~~~~
lstFirst.c: In function 'lstFirst':
lstFirst.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLst )
      |     ^~
lstFirst.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  if ( !hLst->hFirst )
      |  ^~
lstLast.c: In function 'lstLast':
lstLast.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLst )
      |     ^~
lstLast.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  if ( !hLst->hLast )
      |  ^~
lstSeekItem.c: In function 'lstSeekItem':
lstSeekItem.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLst )
      |     ^~
lstSeekItem.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  lstFirst( hLst );
      |  ^~~~~~~~
lstEOL.c: In function 'lstEOL':
lstEOL.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLst )
      |     ^~
lstEOL.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  if ( !hLst->hCurrent )
      |  ^~
lstPrev.c: In function 'lstPrev':
lstPrev.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLst )
      |     ^~
lstPrev.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  if ( !hLst->hCurrent )
      |  ^~
_lstPrevValidItem.c: In function '_lstPrevValidItem':
_lstPrevValidItem.c:10:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   10 |     if ( !hItem )
      |     ^~
_lstPrevValidItem.c:13:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   13 |  hItem = hItem->pPrev;
      |  ^~~~~
lstDelete.c: In function 'lstDelete':
lstDelete.c:27:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   27 |     if ( !hLst )
      |     ^~
lstDelete.c:30:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   30 |  hItem = hLst->hCurrent;
      |  ^~~~~
_lstFreeItem.c: In function '_lstFreeItem':
_lstFreeItem.c:17:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   17 |     if ( !hItem )
      |     ^~
_lstFreeItem.c:20:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   20 |  hLst = (HLST)hItem->hLst;
      |  ^~~~
lstSeek.c: In function 'lstSeek':
lstSeek.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLst )
      |     ^~
lstSeek.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  lstFirst( hLst );
      |  ^~~~~~~~
_lstNextValidItem.c: In function '_lstNextValidItem':
_lstNextValidItem.c:10:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   10 |     if ( !hItem )
      |     ^~
_lstNextValidItem.c:13:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   13 |  hItem = hItem->pNext;
      |  ^~~~~
lstGoto.c: In function 'lstGoto':
lstGoto.c:26:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   26 |     if ( !hLst )
      |     ^~
lstGoto.c:29:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   29 |  lstFirst( hLst );
      |  ^~~~~~~~
lstNext.c: In function 'lstNext':
lstNext.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLst )
      |     ^~
lstNext.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  if ( !hLst->hCurrent )
      |  ^~
lstGet.c: In function 'lstGet':
lstGet.c:10:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   10 |     if ( !hLst )
      |     ^~
lstGet.c:13:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   13 |  if ( !hLst->hCurrent )
      |  ^~
lstGotoBookMark.c: In function 'lstGotoBookMark':
lstGotoBookMark.c:6:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    6 |     if ( !hLstBookMark )
      |     ^~
lstGotoBookMark.c:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    9 |  hLstBookMark->hLst->hCurrent  = hLstBookMark->hCurrent;
      |  ^~~~~~~~~~~~
lstSet.c: In function 'lstSet':
lstSet.c:9:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    9 |     if ( !hLst )
      |     ^~
lstSet.c:12:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   12 |  if ( !hLst->hCurrent )
      |  ^~
lstGetBookMark.c: In function 'lstGetBookMark':
lstGetBookMark.c:9:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    9 |     if ( !hLstBookMark )
      |     ^~
lstGetBookMark.c:12:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   12 |  hLstBookMark->hCurrent  = hLst->hCurrent;
      |  ^~~~~~~~~~~~
iniObjectNext.c: In function 'iniObjectNext':
iniObjectNext.c:23:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   23 |     if ( hIni == NULL )
      |     ^~
iniObjectNext.c:26:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   26 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniObjectInsert.c: In function 'iniObjectInsert':
iniObjectInsert.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if ( pszObject == NULL )
      |     ^~
iniObjectInsert.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  strncpy( szObjectName, pszObject, INI_MAX_OBJECT_NAME );
      |  ^~~~~~~
iniPropertyUpdate.c: In function 'iniPropertyUpdate':
iniPropertyUpdate.c:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   20 |     if ( hIni == NULL )
      |     ^~
iniPropertyUpdate.c:23:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   23 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniPropertyFirst.c: In function 'iniPropertyFirst':
iniPropertyFirst.c:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   20 |     if ( hIni == NULL )
      |     ^~
iniPropertyFirst.c:23:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   23 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniDelete.c: In function 'iniDelete':
iniDelete.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if ( hIni == NULL )
      |     ^~
iniDelete.c:29:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   29 |  iniObjectFirst( hIni );
      |  ^~~~~~~~~~~~~~
iniObjectEOL.c: In function 'iniObjectEOL':
iniObjectEOL.c:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   20 |     if ( hIni == NULL )
      |     ^~
iniObjectEOL.c:23:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   23 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniObjectSeekSure.c: In function 'iniObjectSeekSure':
iniObjectSeekSure.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if ( hIni == NULL )
      |     ^~
iniObjectSeekSure.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  if ( !pszObject )
      |  ^~
iniObjectSeek.c: In function 'iniObjectSeek':
iniObjectSeek.c:23:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   23 |     if ( hIni == NULL )
      |     ^~
iniObjectSeek.c:26:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   26 |  iniObjectFirst( hIni );
      |  ^~~~~~~~~~~~~~
iniPropertyEOL.c: In function 'iniPropertyEOL':
iniPropertyEOL.c:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   20 |     if ( hIni == NULL )
      |     ^~
iniPropertyEOL.c:23:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   23 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniObjectUpdate.c: In function 'iniObjectUpdate':
iniObjectUpdate.c:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   20 |     if ( hIni == NULL )
      |     ^~
iniObjectUpdate.c:23:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   23 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniObject.c: In function 'iniObject':
iniObject.c:24:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   24 |     if ( hIni == NULL )
      |     ^~
iniObject.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniCommit.c: In function 'iniCommit':
iniCommit.c:42:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   42 |     if ( !hFile )
      |     ^~
iniCommit.c:45:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   45 |  _iniDump( hIni, hFile );
      |  ^~~~~~~~
iniValue.c: In function 'iniValue':
iniValue.c:24:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   24 |     if ( hIni == NULL )
      |     ^~
iniValue.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniObjectDelete.c: In function 'iniObjectDelete':
iniObjectDelete.c:26:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   26 |     if ( hIni == NULL )
      |     ^~
iniObjectDelete.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniPropertyDelete.c: In function 'iniPropertyDelete':
iniPropertyDelete.c:27:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   27 |     if ( hIni == NULL )
      |     ^~
iniPropertyDelete.c:29:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   29 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniPropertyInsert.c: In function 'iniPropertyInsert':
iniPropertyInsert.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if ( hIni->hCurObject == NULL )
      |     ^~
iniPropertyInsert.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  if ( pszProperty == NULL )
      |  ^~
iniClose.c: In function 'iniClose':
iniClose.c:26:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   26 |     if ( hIni == NULL )
      |     ^~
iniClose.c:29:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   29 |  hIni->hCurObject = hIni->hFirstObject;
      |  ^~~~
iniPropertyLast.c: In function 'iniPropertyLast':
iniPropertyLast.c:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   20 |     if ( hIni == NULL )
      |     ^~
iniPropertyLast.c:23:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   23 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniProperty.c: In function 'iniProperty':
iniProperty.c:20:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   20 |     if ( hIni == NULL )
      |     ^~
iniProperty.c:23:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   23 |  if ( hIni->hCurObject == NULL )
      |  ^~
iniPropertyNext.c: In function 'iniPropertyNext':
iniPropertyNext.c:32:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   32 |     if ( hIni->hCurProperty == NULL )
      |     ^~
iniPropertyNext.c:35:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   35 |  return INI_SUCCESS;
      |  ^~~~~~
iniPropertySeekSure.c: In function 'iniPropertySeekSure':
iniPropertySeekSure.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if ( hIni == NULL )
      |     ^~
iniPropertySeekSure.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  if ( !pszObject )
      |  ^~
SQLConfigDriver.c: In function 'SQLConfigDriverWide':
SQLConfigDriver.c:27:7: warning: variable 'nReturn' set but not used [-Wunused-but-set-variable]
   27 |  BOOL nReturn;
      |       ^~~~~~~
SQLReadFileDSN.c: In function 'SQLReadFileDSN':
SQLReadFileDSN.c:90:13: warning: variable 'nBufPos' set but not used [-Wunused-but-set-variable]
   90 |     int     nBufPos         = 0;
      |             ^~~~~~~
SQLGetPrivateProfileString.c: In function '_check_ini_cache':
SQLGetPrivateProfileString.c:190:16: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
  190 |             if ( ini_cache -> value )
      |                ^
SQLGetPrivateProfileString.c: In function '_clear_ini_cache':
SQLGetPrivateProfileString.c:254:52: warning: unused variable 'prev' [-Wunused-variable]
  254 |     struct ini_cache *ini_cache = ini_cache_head, *prev = NULL;
      |                                                    ^~~~
SQLAllocHandleStd.c:74:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   74 | static char const rcsid[]= "$RCSfile: SQLAllocHandleStd.c,v $ $Revision: 1.2 $";
      |                   ^~~~~
SQLAllocEnv.c:62:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   62 | static char const rcsid[]= "$RCSfile: SQLAllocEnv.c,v $ $Revision: 1.2 $";
      |                   ^~~~~
SQLCancel.c:103:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  103 | static char const rcsid[]= "$RCSfile: SQLCancel.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLAllocConnect.c:89:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   89 | static char const rcsid[]= "$RCSfile: SQLAllocConnect.c,v $ $Revision: 1.2 $";
      |                   ^~~~~
SQLCancelHandle.c:33:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   33 | static char const rcsid[]= "$RCSfile: SQLCancel.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLCloseCursor.c:107:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  107 | static char const rcsid[]= "$RCSfile: SQLCloseCursor.c,v $ $Revision: 1.5 $";
      |                   ^~~~~
SQLFreeConnect.c:62:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   62 | static char const rcsid[]= "$RCSfile: SQLFreeConnect.c,v $ $Revision: 1.2 $";
      |                   ^~~~~
SQLFreeEnv.c:62:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   62 | static char const rcsid[]= "$RCSfile: SQLFreeEnv.c,v $ $Revision: 1.2 $";
      |                   ^~~~~
SQLBindParam.c:135:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  135 | static char const rcsid[]= "$RCSfile: SQLBindParam.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLBulkOperations.c:107:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  107 | static char const rcsid[]= "$RCSfile: SQLBulkOperations.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLBindParameter.c:156:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  156 | static char const rcsid[]= "$RCSfile: SQLBindParameter.c,v $ $Revision: 1.12 $";
      |                   ^~~~~
SQLColumns.c:147:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  147 | static char const rcsid[]= "$RCSfile: SQLColumns.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLExtendedFetch.c:121:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  121 | static char const rcsid[]= "$RCSfile: SQLExtendedFetch.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLAllocStmt.c:66:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   66 | static char const rcsid[]= "$RCSfile: SQLAllocStmt.c,v $ $Revision: 1.2 $";
      |                   ^~~~~
SQLCopyDesc.c:121:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  121 | static char const rcsid[]= "$RCSfile: SQLCopyDesc.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLGetEnvAttr.c:114:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  114 | static char const rcsid[]= "$RCSfile: SQLGetEnvAttr.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLBindCol.c:131:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  131 | static char const rcsid[]= "$RCSfile: SQLBindCol.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLColumnPrivileges.c:129:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  129 | static char const rcsid[]= "$RCSfile: SQLColumnPrivileges.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLDataSources.c:138:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  138 | static char const rcsid[]= "$RCSfile: SQLDataSources.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLDisconnect.c:174:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  174 | static char const rcsid[]= "$RCSfile: SQLDisconnect.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLAllocHandle.c:255:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  255 | static char const rcsid[]= "$RCSfile: SQLAllocHandle.c,v $ $Revision: 1.13 $";
      |                   ^~~~~
SQLForeignKeys.c:138:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  138 | static char const rcsid[]= "$RCSfile: SQLForeignKeys.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLColAttributes.c:173:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  173 | static char const rcsid[]= "$RCSfile: SQLColAttributes.c,v $ $Revision: 1.15 $";
      |                   ^~~~~
SQLDescribeCol.c:169:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  169 | static char const rcsid[]= "$RCSfile: SQLDescribeCol.c,v $ $Revision: 1.13 $";
      |                   ^~~~~
SQLFreeStmt.c:110:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  110 | static char const rcsid[]= "$RCSfile: SQLFreeStmt.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLColAttribute.c:188:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  188 | static char const rcsid[]= "$RCSfile: SQLColAttribute.c,v $ $Revision: 1.19 $";
      |                   ^~~~~
SQLExecute.c:155:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  155 | static char const rcsid[]= "$RCSfile: SQLExecute.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLFetch.c:130:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  130 | static char const rcsid[]= "$RCSfile: SQLFetch.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLGetFunctions.c: In function 'SQLGetFunctions':
SQLGetFunctions.c:185:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  185 |     if ( function_id > SQL_API_SQLBULKOPERATIONS && function_id < SQL_API_SQLCOLUMNS ||
SQLGetFunctions.c:187:46: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  187 |          function_id > SQL_API_LOADBYORDINAL && function_id < SQL_API_ODBC3_ALL_FUNCTIONS ||
SQLGetFunctions.c:188:52: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  188 |          function_id > SQL_API_ODBC3_ALL_FUNCTIONS && function_id < SQL_API_SQLALLOCHANDLE ||
At top level:
SQLGetFunctions.c:114:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  114 | static char const rcsid[]= "$RCSfile: SQLGetFunctions.c,v $ $Revision: 1.5 $";
      |                   ^~~~~
SQLError.c:185:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  185 | static char const rcsid[]= "$RCSfile: SQLError.c,v $ $Revision: 1.11 $";
      |                   ^~~~~
SQLExecDirect.c: In function 'SQLExecDirect':
SQLExecDirect.c:503:46: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  503 |     else if ( statement -> state >= STATE_S2 && statement -> state <= STATE_S4 ||
At top level:
SQLExecDirect.c:175:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  175 | static char const rcsid[]= "$RCSfile: SQLExecDirect.c,v $ $Revision: 1.11 $";
      |                   ^~~~~
SQLGetConnectOption.c:147:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  147 | static char const rcsid[]= "$RCSfile: SQLGetConnectOption.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLGetCursorName.c:132:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  132 | static char const rcsid[]= "$RCSfile: SQLGetCursorName.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLGetData.c: In function 'SQLGetData':
SQLGetData.c:304:13: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  303 |             ( statement -> state == STATE_S6 || statement -> state == STATE_S7 )
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  304 |             && statement -> eod )
      |             ^~~~~~~~~~~~~~~~~~~
At top level:
SQLGetData.c:185:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  185 | static char const rcsid[]= "$RCSfile: SQLGetData.c,v $ $Revision: 1.15 $";
      |                   ^~~~~
SQLDrivers.c:173:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  173 | static char const rcsid[]= "$RCSfile: SQLDrivers.c,v $ $Revision: 1.13 $";
      |                   ^~~~~
SQLEndTran.c:144:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  144 | static char const rcsid[]= "$RCSfile: SQLEndTran.c,v $ $Revision: 1.11 $";
      |                   ^~~~~
SQLGetDescField.c:139:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  139 | static char const rcsid[]= "$RCSfile: SQLGetDescField.c,v $ $Revision: 1.10 $";
      |                   ^~~~~
SQLGetConnectAttr.c: In function 'SQLGetConnectAttr':
SQLGetConnectAttr.c:393:54: warning: assignment to 'void **' from 'SQLLEN' {aka 'long int'} makes pointer from integer without a cast [-Wint-conversion]
  393 |                                 *(SQLPOINTER**)value = sa->int_attr;
      |                                                      ^
At top level:
SQLGetConnectAttr.c:167:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  167 | static char const rcsid[]= "$RCSfile: SQLGetConnectAttr.c,v $ $Revision: 1.15 $";
      |                   ^~~~~
SQLDescribeParam.c:136:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  136 | static char const rcsid[]= "$RCSfile: SQLDescribeParam.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLFetchScroll.c: In function 'SQLFetchScroll':
SQLFetchScroll.c:172:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  172 |             fetch_orientation != SQL_FETCH_RELATIVE &&
At top level:
SQLFetchScroll.c:121:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  121 | static char const rcsid[]= "$RCSfile: SQLFetchScroll.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLGetDescRec.c:157:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  157 | static char const rcsid[]= "$RCSfile: SQLGetDescRec.c,v $ $Revision: 1.13 $";
      |                   ^~~~~
SQLGetDiagRec.c:186:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  186 | static char const rcsid[]= "$RCSfile: SQLGetDiagRec.c,v $ $Revision: 1.21 $";
      |                   ^~~~~
SQLBrowseConnect.c: In function 'SQLBrowseConnect':
SQLBrowseConnect.c:428:16: warning: pointer targets in assignment from 'SQLCHAR *' {aka 'unsigned char *'} to 'char *' differ in signedness [-Wpointer-sign]
  428 |         in_str = conn_str_in;
      |                ^
SQLBrowseConnect.c:465:44: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign]
  465 |                 *ptr_conn_str_out = strlen(conn_str_out);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            SQLCHAR * {aka unsigned char *}
In file included from drivermanager.h:14,
                 from SQLBrowseConnect.c:175:
/usr/include/string.h:384:35: note: expected 'const char *' but argument is of type 'SQLCHAR *' {aka 'unsigned char *'}
  384 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
SQLBrowseConnect.c:498:17: warning: implicit declaration of function 'extract_diag_error_w' [-Wimplicit-function-declaration]
  498 |                 extract_diag_error_w( SQL_HANDLE_DBC,
      |                 ^~~~~~~~~~~~~~~~~~~~
SQLBrowseConnect.c:507:17: warning: implicit declaration of function 'extract_sql_error_w' [-Wimplicit-function-declaration]
  507 |                 extract_sql_error_w( SQL_NULL_HENV,
      |                 ^~~~~~~~~~~~~~~~~~~
SQLBrowseConnect.c:517:17: warning: implicit declaration of function 'extract_diag_error' [-Wimplicit-function-declaration]
  517 |                 extract_diag_error( SQL_HANDLE_DBC,
      |                 ^~~~~~~~~~~~~~~~~~
SQLBrowseConnect.c:526:17: warning: implicit declaration of function 'extract_sql_error' [-Wimplicit-function-declaration]
  526 |                 extract_sql_error( SQL_NULL_HENV,
      |                 ^~~~~~~~~~~~~~~~~
At top level:
SQLBrowseConnect.c:177:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  177 | static char const rcsid[]= "$RCSfile: SQLBrowseConnect.c,v $ $Revision: 1.15 $";
      |                   ^~~~~
SQLGetDiagField.c: In function 'extract_sql_error_field':
SQLGetDiagField.c:516:52: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  516 |           diag_identifier == SQL_DIAG_ROW_NUMBER ) && head -> handle_type != SQL_HANDLE_STMT )
At top level:
SQLGetDiagField.c:200:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  200 | static char const rcsid[]= "$RCSfile: SQLGetDiagField.c,v $ $Revision: 1.17 $";
      |                   ^~~~~
SQLFreeHandle.c: In function '__SQLFreeHandle':
SQLFreeHandle.c:504:23: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
  504 |             SQLRETURN ret;
      |                       ^~~
At top level:
SQLFreeHandle.c:183:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  183 | static char const rcsid[]= "$RCSfile: SQLFreeHandle.c,v $ $Revision: 1.12 $";
      |                   ^~~~~
SQLDriverConnect.c: In function '__generate_connection_string':
SQLDriverConnect.c:337:65: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  337 |         int use_esc = isspace( *(cp -> attribute ) ) || attrlen && isspace( cp->attribute[attrlen - 1] );
      |                                                                 ^
SQLDriverConnect.c: In function 'SQLDriverConnect':
SQLDriverConnect.c:1503:17: warning: variable 'lret' set but not used [-Wunused-but-set-variable]
 1503 |             int lret;
      |                 ^~~~
At top level:
SQLDriverConnect.c:313:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  313 | static char const rcsid[]= "$RCSfile: SQLDriverConnect.c,v $ $Revision: 1.28 $";
      |                   ^~~~~
SQLGetInfo.c:175:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  175 | static char const rcsid[]= "$RCSfile: SQLGetInfo.c,v $ $Revision: 1.14 $";
      |                   ^~~~~
SQLConnect.c: In function '__strip_from_pool':
SQLConnect.c:2984:9: warning: unused variable 'has_checked' [-Wunused-variable]
 2984 |     int has_checked = 0;
      |         ^~~~~~~~~~~
SQLConnect.c:2983:18: warning: variable 'prev' set but not used [-Wunused-but-set-variable]
 2983 |     CPOOL *ptr, *prev;
      |                  ^~~~
SQLConnect.c:2982:16: warning: unused variable 'dead' [-Wunused-variable]
 2982 |     SQLINTEGER dead;
      |                ^~~~
SQLConnect.c:2981:12: warning: variable 'current_time' set but not used [-Wunused-but-set-variable]
 2981 |     time_t current_time;
      |            ^~~~~~~~~~~~
SQLConnect.c: In function 'search_for_pool':
SQLConnect.c:3149:62: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
 3149 |         if ( CHECK_SQLGETCONNECTATTR(( &ptr -> connection )) &&
SQLConnect.c:3163:64: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
 3163 |              CHECK_SQLGETCONNECTOPTION(( &ptr -> connection )) &&
SQLConnect.c:3168:65: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
 3168 |              CHECK_SQLGETCONNECTOPTIONW(( &ptr -> connection )) &&
SQLConnect.c: In function 'SQLConnect':
SQLConnect.c:4113:17: warning: variable 'lret' set but not used [-Wunused-but-set-variable]
 4113 |             int lret;
      |                 ^~~~
At top level:
SQLConnect.c:597:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  597 | static char const rcsid[]= "$RCSfile: SQLConnect.c,v $ $Revision: 1.66 $";
      |                   ^~~~~
SQLGetStmtOption.c: In function 'SQLGetStmtOption':
SQLGetStmtOption.c:173:45: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  173 |         if ( statement -> state >= STATE_S1 && statement -> state <= STATE_S5 ||
At top level:
SQLGetStmtOption.c:121:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  121 | static char const rcsid[]= "$RCSfile: SQLGetStmtOption.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLGetStmtAttr.c: In function 'SQLGetStmtAttr':
SQLGetStmtAttr.c:243:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  242 |                 ( statement -> state == STATE_S6 ||
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  243 |                   statement -> state == STATE_S7 )  && statement -> eod )
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
At top level:
SQLGetStmtAttr.c:166:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  166 | static char const rcsid[]= "$RCSfile: SQLGetStmtAttr.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLNumParams.c:107:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  107 | static char const rcsid[]= "$RCSfile: SQLNumParams.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLGetTypeInfo.c:126:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  126 | static char const rcsid[]= "$RCSfile: SQLGetTypeInfo.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLPutData.c:110:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  110 | static char const rcsid[]= "$RCSfile: SQLPutData.c,v $ $Revision: 1.5 $";
      |                   ^~~~~
SQLRowCount.c:133:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  133 | static char const rcsid[]= "$RCSfile: SQLRowCount.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLMoreResults.c:130:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  130 | static char const rcsid[]= "$RCSfile: SQLMoreResults.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLNativeSql.c:137:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  137 | static char const rcsid[]= "$RCSfile: SQLNativeSql.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLParamData.c:131:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  131 | static char const rcsid[]= "$RCSfile: SQLParamData.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLPrimaryKeys.c:138:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  138 | static char const rcsid[]= "$RCSfile: SQLPrimaryKeys.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLNumResultCols.c:120:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  120 | static char const rcsid[]= "$RCSfile: SQLNumResultCols.c,v $ $Revision: 1.5 $";
      |                   ^~~~~
SQLPrepare.c:131:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  131 | static char const rcsid[]= "$RCSfile: SQLPrepare.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLProcedures.c:126:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  126 | static char const rcsid[]= "$RCSfile: SQLProcedures.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLSetCursorName.c:119:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  119 | static char const rcsid[]= "$RCSfile: SQLSetCursorName.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLSetDescField.c:121:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  121 | static char const rcsid[]= "$RCSfile: SQLSetDescField.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLSetEnvAttr.c:138:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  138 | static char const rcsid[]= "$RCSfile: SQLSetEnvAttr.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLParamOptions.c:125:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  125 | static char const rcsid[]= "$RCSfile: SQLParamOptions.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLProcedureColumns.c:126:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  126 | static char const rcsid[]= "$RCSfile: SQLProcedureColumns.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLSetConnectOption.c:198:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  198 | static char const rcsid[]= "$RCSfile: SQLSetConnectOption.c,v $ $Revision: 1.12 $";
      |                   ^~~~~
SQLSetStmtOption.c:152:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  152 | static char const rcsid[]= "$RCSfile: SQLSetStmtOption.c,v $ $Revision: 1.10 $";
      |                   ^~~~~
SQLTables.c:136:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  136 | static char const rcsid[]= "$RCSfile: SQLTables.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLColumnPrivilegesW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLColumnPrivilegesW.c,v $";
      |                   ^~~~~
SQLSetDescRec.c:100:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  100 | static char const rcsid[]= "$RCSfile: SQLSetDescRec.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLSetPos.c:121:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  121 | static char const rcsid[]= "$RCSfile: SQLSetPos.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLTablePrivileges.c:132:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  132 | static char const rcsid[]= "$RCSfile: SQLTablePrivileges.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLColumnsW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLColumnsW.c,v $";
      |                   ^~~~~
SQLColAttributeW.c:107:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  107 | static char const rcsid[]= "$RCSfile: SQLColAttributeW.c,v $";
      |                   ^~~~~
SQLSpecialColumns.c: In function 'SQLSpecialColumns':
SQLSpecialColumns.c:234:27: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  234 |     if ( name_length1 < 0 && name_length1 != SQL_NTS ||
At top level:
SQLSpecialColumns.c:134:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  134 | static char const rcsid[]= "$RCSfile: SQLSpecialColumns.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLSetConnectAttr.c:213:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  213 | static char const rcsid[]= "$RCSfile: SQLSetConnectAttr.c,v $ $Revision: 1.17 $";
      |                   ^~~~~
SQLStatistics.c:132:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  132 | static char const rcsid[]= "$RCSfile: SQLStatistics.c,v $ $Revision: 1.8 $";
      |                   ^~~~~
SQLDataSourcesW.c:81:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   81 | static char const rcsid[]= "$RCSfile: SQLDataSourcesW.c,v $";
      |                   ^~~~~
SQLDescribeColW.c:116:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  116 | static char const rcsid[]= "$RCSfile: SQLDescribeColW.c,v $";
      |                   ^~~~~
SQLSetParam.c:138:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  138 | static char const rcsid[]= "$RCSfile: SQLSetParam.c,v $ $Revision: 1.7 $";
      |                   ^~~~~
SQLSetStmtAttr.c:213:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  213 | static char const rcsid[]= "$RCSfile: SQLSetStmtAttr.c,v $ $Revision: 1.16 $";
      |                   ^~~~~
SQLColAttributesW.c:110:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  110 | static char const rcsid[]= "$RCSfile: SQLColAttributesW.c,v $";
      |                   ^~~~~
SQLForeignKeysW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLForeignKeysW.c,v $";
      |                   ^~~~~
SQLBrowseConnectW.c: In function 'SQLBrowseConnectW':
SQLBrowseConnectW.c:409:30: warning: pointer targets in initialization of 'SQLCHAR *' {aka 'unsigned char *'} from 'char *' differ in signedness [-Wpointer-sign]
  409 |         SQLCHAR *an_in_str = unicode_to_ansi_alloc( in_str, SQL_NTS, connection, 0 );
      |                              ^~~~~~~~~~~~~~~~~~~~~
SQLBrowseConnectW.c:424:48: warning: pointer targets in passing argument 2 of 'ansi_to_unicode_copy' differ in signedness [-Wpointer-sign]
  424 |             ansi_to_unicode_copy(conn_str_out, ob, conn_str_out_max, connection, ptr_conn_str_out );
      |                                                ^~
      |                                                |
      |                                                SQLCHAR * {aka unsigned char *}
In file included from SQLBrowseConnectW.c:121:
drivermanager.h:710:11: note: expected 'char *' but argument is of type 'SQLCHAR *' {aka 'unsigned char *'}
  710 | SQLWCHAR *ansi_to_unicode_copy( SQLWCHAR * dest, char *src, SQLINTEGER buffer_len, DMHDBC connection, int *wlen );
      |           ^~~~~~~~~~~~~~~~~~~~
SQLBrowseConnectW.c:424:82: warning: passing argument 5 of 'ansi_to_unicode_copy' from incompatible pointer type [-Wincompatible-pointer-types]
  424 |             ansi_to_unicode_copy(conn_str_out, ob, conn_str_out_max, connection, ptr_conn_str_out );
      |                                                                                  ^~~~~~~~~~~~~~~~
      |                                                                                  |
      |                                                                                  SQLSMALLINT * {aka short int *}
In file included from SQLBrowseConnectW.c:121:
drivermanager.h:710:11: note: expected 'int *' but argument is of type 'SQLSMALLINT *' {aka 'short int *'}
  710 | SQLWCHAR *ansi_to_unicode_copy( SQLWCHAR * dest, char *src, SQLINTEGER buffer_len, DMHDBC connection, int *wlen );
      |           ^~~~~~~~~~~~~~~~~~~~
SQLBrowseConnectW.c:459:17: warning: implicit declaration of function 'extract_diag_error_w' [-Wimplicit-function-declaration]
  459 |                 extract_diag_error_w( SQL_HANDLE_DBC,
      |                 ^~~~~~~~~~~~~~~~~~~~
SQLBrowseConnectW.c:468:17: warning: implicit declaration of function 'extract_sql_error_w' [-Wimplicit-function-declaration]
  468 |                 extract_sql_error_w( SQL_NULL_HENV,
      |                 ^~~~~~~~~~~~~~~~~~~
SQLBrowseConnectW.c:478:17: warning: implicit declaration of function 'extract_diag_error' [-Wimplicit-function-declaration]
  478 |                 extract_diag_error( SQL_HANDLE_DBC,
      |                 ^~~~~~~~~~~~~~~~~~
SQLBrowseConnectW.c:487:17: warning: implicit declaration of function 'extract_sql_error' [-Wimplicit-function-declaration]
  487 |                 extract_sql_error( SQL_NULL_HENV,
      |                 ^~~~~~~~~~~~~~~~~
At top level:
SQLBrowseConnectW.c:123:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  123 | static char const rcsid[]= "$RCSfile: SQLBrowseConnectW.c,v $";
      |                   ^~~~~
SQLConnectW.c: In function 'SQLConnectW':
SQLConnectW.c:383:17: warning: variable 'lret' set but not used [-Wunused-but-set-variable]
  383 |             int lret;
      |                 ^~~~
At top level:
SQLConnectW.c:121:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  121 | static char const rcsid[]= "$RCSfile: SQLConnectW.c,v $";
      |                   ^~~~~
SQLDriversW.c:110:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  110 | static char const rcsid[]= "$RCSfile: SQLDriversW.c,v $";
      |                   ^~~~~
SQLErrorW.c:91:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   91 | static char const rcsid[]= "$RCSfile: SQLErrorW.c,v $";
      |                   ^~~~~
SQLSetScrollOptions.c: In function 'SQLSetScrollOptions':
SQLSetScrollOptions.c:213:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  213 |             crow_keyset != SQL_SCROLL_KEYSET_DRIVEN &&
At top level:
SQLSetScrollOptions.c:142:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  142 | static char const rcsid[]= "$RCSfile: SQLSetScrollOptions.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLExecDirectW.c: In function 'SQLExecDirectW':
SQLExecDirectW.c:438:46: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  438 |     else if ( statement -> state >= STATE_S2 && statement -> state <= STATE_S4 ||
At top level:
SQLExecDirectW.c:92:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   92 | static char const rcsid[]= "$RCSfile: SQLExecDirectW.c,v $";
      |                   ^~~~~
SQLTransact.c:148:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  148 | static char const rcsid[]= "$RCSfile: SQLTransact.c,v $ $Revision: 1.11 $";
      |                   ^~~~~
SQLDriverConnectW.c: In function 'SQLDriverConnectW':
SQLDriverConnectW.c:426:39: warning: pointer targets in passing argument 1 of 'unicode_to_ansi_copy' differ in signedness [-Wpointer-sign]
  426 |                 unicode_to_ansi_copy( returned_dsn, sizeof( returned_dsn ), returned_wdsn, SQL_NTS, connection, NULL );
      |                                       ^~~~~~~~~~~~
      |                                       |
      |                                       SQLCHAR * {aka unsigned char *}
In file included from SQLDriverConnectW.c:128:
drivermanager.h:712:7: note: expected 'char *' but argument is of type 'SQLCHAR *' {aka 'unsigned char *'}
  712 | char *unicode_to_ansi_copy( char* dest, int dest_len, SQLWCHAR *src, SQLINTEGER len, DMHDBC connection, int *clen );
      |       ^~~~~~~~~~~~~~~~~~~~
SQLDriverConnectW.c:599:17: warning: variable 'lret' set but not used [-Wunused-but-set-variable]
  599 |             int lret;
      |                 ^~~~
At top level:
SQLDriverConnectW.c:130:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  130 | static char const rcsid[]= "$RCSfile: SQLDriverConnectW.c,v $";
      |                   ^~~~~
SQLGetCursorNameW.c:96:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   96 | static char const rcsid[]= "$RCSfile: SQLGetCursorNameW.c,v $";
      |                   ^~~~~
SQLGetConnectAttrW.c: In function 'SQLGetConnectAttrW':
SQLGetConnectAttrW.c:337:54: warning: assignment to 'void **' from 'SQLLEN' {aka 'long int'} makes pointer from integer without a cast [-Wint-conversion]
  337 |                                 *(SQLPOINTER**)value = sa->int_attr;
      |                                                      ^
At top level:
SQLGetConnectAttrW.c:123:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  123 | static char const rcsid[]= "$RCSfile: SQLGetConnectAttrW.c,v $";
      |                   ^~~~~
SQLGetConnectOptionW.c:95:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   95 | static char const rcsid[]= "$RCSfile: SQLGetConnectOptionW.c,v $";
      |                   ^~~~~
SQLNativeSqlW.c:91:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   91 | static char const rcsid[]= "$RCSfile: SQLNativeSqlW.c,v $";
      |                   ^~~~~
SQLProcedureColumnsW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLProcedureColumnsW.c,v $";
      |                   ^~~~~
SQLGetTypeInfoW.c:79:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   79 | static char const rcsid[]= "$RCSfile: SQLGetTypeInfoW.c,v $";
      |                   ^~~~~
SQLSetDescFieldW.c:86:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   86 | static char const rcsid[]= "$RCSfile: SQLSetDescFieldW.c,v $";
      |                   ^~~~~
SQLSetStmtAttrW.c:94:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   94 | static char const rcsid[]= "$RCSfile: SQLSetStmtAttrW.c,v $";
      |                   ^~~~~
SQLGetDescRecW.c:102:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  102 | static char const rcsid[]= "$RCSfile: SQLGetDescRecW.c,v $";
      |                   ^~~~~
SQLGetDescFieldW.c:91:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   91 | static char const rcsid[]= "$RCSfile: SQLGetDescFieldW.c,v $";
      |                   ^~~~~
SQLSetConnectOptionW.c:98:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   98 | static char const rcsid[]= "$RCSfile: SQLSetConnectOptionW.c,v $";
      |                   ^~~~~
SQLProceduresW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLProceduresW.c,v $ $Revision: 1.9 $";
      |                   ^~~~~
SQLGetStmtAttrW.c: In function 'SQLGetStmtAttrW':
SQLGetStmtAttrW.c:173:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  172 |                 ( statement -> state == STATE_S6 ||
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  173 |                   statement -> state == STATE_S7 )  && statement -> eod )
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
At top level:
SQLGetStmtAttrW.c:78:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   78 | static char const rcsid[]= "$RCSfile: SQLGetStmtAttrW.c,v $";
      |                   ^~~~~
SQLSetStmtOptionW.c:155:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  155 | static char const rcsid[]= "$RCSfile: SQLSetStmtOptionW.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLTablesW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLTablesW.c,v $";
      |                   ^~~~~
SQLSetCursorNameW.c:81:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   81 | static char const rcsid[]= "$RCSfile: SQLSetCursorNameW.c,v $";
      |                   ^~~~~
SQLPrimaryKeysW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLPrimaryKeysW.c,v $";
      |                   ^~~~~
__stats.c:122:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  122 | static char const rcsid[]= "$RCSfile: __stats.c,v $ $Revision: 1.4 $";
      |                   ^~~~~
SQLSetConnectAttrW.c:128:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  128 | static char const rcsid[]= "$RCSfile: SQLSetConnectAttrW.c,v $";
      |                   ^~~~~
SQLGetInfoW.c:112:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  112 | static char const rcsid[]= "$RCSfile: SQLGetInfoW.c,v $";
      |                   ^~~~~
SQLGetDiagRecW.c:99:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   99 | static char const rcsid[]= "$RCSfile: SQLGetDiagRecW.c,v $";
      |                   ^~~~~
SQLPrepareW.c:80:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   80 | static char const rcsid[]= "$RCSfile: SQLPrepareW.c,v $";
      |                   ^~~~~
SQLSpecialColumnsW.c: In function 'SQLSpecialColumnsW':
SQLSpecialColumnsW.c:201:27: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  201 |     if ( name_length1 < 0 && name_length1 != SQL_NTS ||
At top level:
SQLSpecialColumnsW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLSpecialColumnsW.c,v $";
      |                   ^~~~~
SQLGetDiagFieldW.c: In function 'extract_sql_error_field_w':
SQLGetDiagFieldW.c:493:52: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  493 |           diag_identifier == SQL_DIAG_ROW_NUMBER ) && head -> handle_type != SQL_HANDLE_STMT )
At top level:
SQLGetDiagFieldW.c:97:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   97 | static char const rcsid[]= "$RCSfile: SQLGetDiagFieldW.c,v $";
      |                   ^~~~~
__connection.c:107:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  107 | static char const rcsid[]= "$RCSfile: __connection.c,v $ $Revision: 1.6 $";
      |                   ^~~~~
SQLStatisticsW.c:88:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   88 | static char const rcsid[]= "$RCSfile: SQLStatisticsW.c,v $";
      |                   ^~~~~
SQLTablePrivilegesW.c:92:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   92 | static char const rcsid[]= "$RCSfile: SQLTablePrivilegesW.c,v $";
      |                   ^~~~~
__attribute.c:70:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
   70 | static char const rcsid[]= "$RCSfile: __attribute.c,v $";
      |                   ^~~~~
__handles.c:229:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  229 | static char const rcsid[]= "$RCSfile: __handles.c,v $ $Revision: 1.13 $";
      |                   ^~~~~
__info.c: In function 'extract_diag_error_w':
__info.c:4603:23: warning: unused variable 'tmp' [-Wunused-variable]
 4603 |             SQLWCHAR *tmp;
      |                       ^~~
__info.c: In function 'extract_sql_error_w':
__info.c:4839:23: warning: unused variable 'tmp' [-Wunused-variable]
 4839 |             SQLWCHAR *tmp;
      |                       ^~~
__info.c: In function 'function_entry':
__info.c:5127:9: warning: variable 'version' set but not used [-Wunused-but-set-variable]
 5127 |     int version;
      |         ^~~~~~~
At top level:
__info.c:475:19: warning: 'rcsid' defined but not used [-Wunused-const-variable=]
  475 | static char const rcsid[]= "$RCSfile: __info.c,v $ $Revision: 1.50 $";
      |                   ^~~~~
slencheck.c: In function 'main':
slencheck.c:72:37: warning: pointer targets in passing argument 2 of 'SQLConnect' differ in signedness [-Wpointer-sign]
   72 |         ret = SQLConnect( hdbc, argv[ 1 ], SQL_NTS, NULL, 0, NULL, 0 );
      |                                 ~~~~^~~~~
      |                                     |
      |                                     char *
In file included from slencheck.c:3:
../include/sql.h:633:44: note: expected 'SQLCHAR *' {aka 'unsigned char *'} but argument is of type 'char *'
  633 |                                   SQLCHAR *ServerName, SQLSMALLINT NameLength1,
      |                                   ~~~~~~~~~^~~~~~~~~~
slencheck.c:75:37: warning: pointer targets in passing argument 2 of 'SQLConnect' differ in signedness [-Wpointer-sign]
   75 |         ret = SQLConnect( hdbc, argv[ 1 ], SQL_NTS, argv[ 2 ], SQL_NTS, NULL, 0 );
      |                                 ~~~~^~~~~
      |                                     |
      |                                     char *
In file included from slencheck.c:3:
../include/sql.h:633:44: note: expected 'SQLCHAR *' {aka 'unsigned char *'} but argument is of type 'char *'
  633 |                                   SQLCHAR *ServerName, SQLSMALLINT NameLength1,
      |                                   ~~~~~~~~~^~~~~~~~~~
slencheck.c:75:57: warning: pointer targets in passing argument 4 of 'SQLConnect' differ in signedness [-Wpointer-sign]
   75 |         ret = SQLConnect( hdbc, argv[ 1 ], SQL_NTS, argv[ 2 ], SQL_NTS, NULL, 0 );
      |                                                     ~~~~^~~~~
      |                                                         |
      |                                                         char *
In file included from slencheck.c:3:
../include/sql.h:634:44: note: expected 'SQLCHAR *' {aka 'unsigned char *'} but argument is of type 'char *'
  634 |                                   SQLCHAR *UserName, SQLSMALLINT NameLength2,
      |                                   ~~~~~~~~~^~~~~~~~
slencheck.c:78:37: warning: pointer targets in passing argument 2 of 'SQLConnect' differ in signedness [-Wpointer-sign]
   78 |         ret = SQLConnect( hdbc, argv[ 1 ], SQL_NTS, argv[ 2 ], SQL_NTS, argv[ 3 ], SQL_NTS );
      |                                 ~~~~^~~~~
      |                                     |
      |                                     char *
In file included from slencheck.c:3:
../include/sql.h:633:44: note: expected 'SQLCHAR *' {aka 'unsigned char *'} but argument is of type 'char *'
  633 |                                   SQLCHAR *ServerName, SQLSMALLINT NameLength1,
      |                                   ~~~~~~~~~^~~~~~~~~~
slencheck.c:78:57: warning: pointer targets in passing argument 4 of 'SQLConnect' differ in signedness [-Wpointer-sign]
   78 |         ret = SQLConnect( hdbc, argv[ 1 ], SQL_NTS, argv[ 2 ], SQL_NTS, argv[ 3 ], SQL_NTS );
      |                                                     ~~~~^~~~~
      |                                                         |
      |                                                         char *
In file included from slencheck.c:3:
../include/sql.h:634:44: note: expected 'SQLCHAR *' {aka 'unsigned char *'} but argument is of type 'char *'
  634 |                                   SQLCHAR *UserName, SQLSMALLINT NameLength2,
      |                                   ~~~~~~~~~^~~~~~~~
slencheck.c:78:77: warning: pointer targets in passing argument 6 of 'SQLConnect' differ in signedness [-Wpointer-sign]
   78 |         ret = SQLConnect( hdbc, argv[ 1 ], SQL_NTS, argv[ 2 ], SQL_NTS, argv[ 3 ], SQL_NTS );
      |                                                                         ~~~~^~~~~
      |                                                                             |
      |                                                                             char *
In file included from slencheck.c:3:
../include/sql.h:635:44: note: expected 'SQLCHAR *' {aka 'unsigned char *'} but argument is of type 'char *'
  635 |                                   SQLCHAR *Authentication, SQLSMALLINT NameLength3);
      |                                   ~~~~~~~~~^~~~~~~~~~~~~~
iusql.c:38:13: warning: 'WriteHeaderNormal' declared 'static' but never defined [-Wunused-function]
   38 | static void WriteHeaderNormal( SQLHSTMT hStmt, SQLCHAR *szSepLine );
      |             ^~~~~~~~~~~~~~~~~
iusql.c:44:13: warning: 'WriteFooterNormal' declared 'static' but never defined [-Wunused-function]
   44 | static void WriteFooterNormal( SQLHSTMT hStmt, SQLCHAR *szSepLine, SQLLEN nRows );
      |             ^~~~~~~~~~~~~~~~~
iusql.c:47:12: warning: 'get_args' declared 'static' but never defined [-Wunused-function]
   47 | static int get_args(char *string, char **args, int maxarg);
      |            ^~~~~~~~
iusql.c:48:13: warning: 'free_args' declared 'static' but never defined [-Wunused-function]
   48 | static void free_args(char **args, int maxarg);
      |             ^~~~~~~~~
iusql.c:49:13: warning: 'output_help' declared 'static' but never defined [-Wunused-function]
   49 | static void output_help(void);
      |             ^~~~~~~~~~~
odbcpsqlS.c:51:20: warning: 'aTrueFalse' defined but not used [-Wunused-variable]
   51 | static const char *aTrueFalse[] =
      |                    ^~~~~~~~~~
tdsS.c:37:20: warning: 'aYesNo' defined but not used [-Wunused-variable]
   37 | static const char *aYesNo[] =
      |                    ^~~~~~
oraodbcS.c:33:20: warning: 'aYesNo' defined but not used [-Wunused-variable]
   33 | static const char *aYesNo[] =
      |                    ^~~~~~
sapdb.c:12:20: warning: 'aHost' defined but not used [-Wunused-variable]
   12 | static const char *aHost[] =
      |                    ^~~~~
mimerS.c:33:20: warning: 'vDescr' defined but not used [-Wunused-variable]
   33 | static const char *vDescr[] =
      |                    ^~~~~~
columninfo.c: In function 'CI_read_fields':
columninfo.c:65:11: warning: variable 'ci' set but not used [-Wunused-but-set-variable]
   65 | ConnInfo *ci;
      |           ^~
misc.c: In function 'generate_filename':
misc.c:56:2: warning: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Wrestrict]
   56 |  sprintf(filename,"%s%u%s",filename,pid,".log");
      |  ^~~~~~~
dlg_specific.c: In function 'getDSNinfo':
dlg_specific.c:477:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  477 |     if ( toupper(ci->onlyread[0]) == 'Y' )
      |     ^~
dlg_specific.c:480:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  480 |  if ( ci->show_oid_column[0] == '\0' || overwrite)
      |  ^~
dlg_specific.c:483:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  483 |     if ( toupper(ci->show_oid_column[0]) == 'Y' )
      |     ^~
dlg_specific.c:486:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  486 |  if ( ci->fake_oid_index[0] == '\0' || overwrite)
      |  ^~
dlg_specific.c:489:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  489 |     if ( toupper(ci->fake_oid_index[0]) == 'Y' )
      |     ^~
dlg_specific.c:492:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  492 |  if ( ci->row_versioning[0] == '\0' || overwrite)
      |  ^~
dlg_specific.c:495:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  495 |     if ( toupper(ci->row_versioning[0]) == 'Y' )
      |     ^~
dlg_specific.c:498:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  498 |  if ( ci->show_system_tables[0] == '\0' || overwrite)
      |  ^~
dlg_specific.c:501:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  501 |     if ( toupper(ci->show_system_tables[0]) == 'Y' )
      |     ^~
dlg_specific.c:504:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  504 |  if ( ci->protocol[0] == '\0' || overwrite)
      |  ^~
options.c: In function 'SQLGetConnectOption':
options.c:427:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  427 |   *((UDWORD *) pvParam) = (UDWORD) NULL;
      |                           ^
execute.c: In function 'SQLCancel':
execute.c:452:12: warning: implicit declaration of function 'PG_SQLFreeStmt'; did you mean 'SQLFreeStmt'? [-Wimplicit-function-declaration]
  452 |   result = PG_SQLFreeStmt( hstmt, SQL_CLOSE);
      |            ^~~~~~~~~~~~~~
      |            SQLFreeStmt
statement.c: In function 'SC_pre_execute':
statement.c:486:3: warning: implicit declaration of function 'PG_SQLExecute'; did you mean 'SQLExecute'? [-Wimplicit-function-declaration]
  486 |   PG_SQLExecute(self);
      |   ^~~~~~~~~~~~~
      |   SQLExecute
results.c: In function 'SQLDescribeCol':
results.c:180:11: warning: variable 'ci' set but not used [-Wunused-but-set-variable]
  180 | ConnInfo *ci;
      |           ^~
results.c: In function 'SQLColAttributes':
results.c:350:11: warning: variable 'ci' set but not used [-Wunused-but-set-variable]
  350 | ConnInfo *ci;
      |           ^~
connection.c: In function 'CC_connect':
connection.c:527:9: warning: unused variable 'encoding' [-Wunused-variable]
  527 |  char  *encoding;
      |         ^~~~~~~~
connection.c: In function 'CC_create_errormsg':
connection.c:925:13: warning: the address of 'msg' will always evaluate as 'true' [-Waddress]
  925 |  return msg ? strdup(msg) : NULL;
      |             ^
connection.c: In function 'CC_send_function':
connection.c:1281:10: warning: variable 'c' set but not used [-Wunused-but-set-variable]
 1281 | char id, c, done;
      |          ^
connection.c: In function 'CC_send_settings':
connection.c:1435:11: warning: implicit declaration of function 'PG_SQLAllocStmt'; did you mean 'SQLAllocStmt'? [-Wimplicit-function-declaration]
 1435 |  result = PG_SQLAllocStmt( self, &hstmt);
      |           ^~~~~~~~~~~~~~~
      |           SQLAllocStmt
connection.c:1444:11: warning: implicit declaration of function 'PG_SQLExecDirect'; did you mean 'SQLExecDirect'? [-Wimplicit-function-declaration]
 1444 |  result = PG_SQLExecDirect(hstmt, "set DateStyle to 'ISO'", SQL_NTS);
      |           ^~~~~~~~~~~~~~~~
      |           SQLExecDirect
connection.c:1505:2: warning: implicit declaration of function 'PG_SQLFreeStmt'; did you mean 'SQLFreeStmt'? [-Wimplicit-function-declaration]
 1505 |  PG_SQLFreeStmt(hstmt, SQL_DROP);
      |  ^~~~~~~~~~~~~~
      |  SQLFreeStmt
connection.c: In function 'CC_lookup_lo':
connection.c:1539:11: warning: implicit declaration of function 'PG_SQLFetch'; did you mean 'SQLFetch'? [-Wimplicit-function-declaration]
 1539 |  result = PG_SQLFetch(hstmt);
      |           ^~~~~~~~~~~
      |           SQLFetch
connection.c:1545:11: warning: implicit declaration of function 'PG_SQLGetData'; did you mean 'SQLGetData'? [-Wimplicit-function-declaration]
 1545 |  result = PG_SQLGetData(hstmt, 1, SQL_C_SLONG, &self->lobj_type, sizeof(self->lobj_type), NULL);
      |           ^~~~~~~~~~~~~
      |           SQLGetData
connection.c:1518:17: warning: variable 'stmt' set but not used [-Wunused-but-set-variable]
 1518 | StatementClass *stmt;
      |                 ^~~~
connection.c: In function 'CC_lookup_pg_version':
connection.c:1587:17: warning: variable 'stmt' set but not used [-Wunused-but-set-variable]
 1587 | StatementClass *stmt;
      |                 ^~~~
parse.c: In function 'parse_statement':
parse.c:583:13: warning: implicit declaration of function 'PG_SQLAllocStmt'; did you mean 'SQLAllocStmt'? [-Wimplicit-function-declaration]
  583 |    result = PG_SQLAllocStmt( stmt->hdbc, &hcol_stmt);
      |             ^~~~~~~~~~~~~~~
      |             SQLAllocStmt
parse.c:593:13: warning: implicit declaration of function 'PG_SQLColumns'; did you mean 'SQLColumns'? [-Wimplicit-function-declaration]
  593 |    result = PG_SQLColumns(hcol_stmt, "", 0, "", 0,
      |             ^~~~~~~~~~~~~
      |             SQLColumns
parse.c:628:5: warning: implicit declaration of function 'PG_SQLFreeStmt'; did you mean 'SQLFreeStmt'? [-Wimplicit-function-declaration]
  628 |     PG_SQLFreeStmt(hcol_stmt, SQL_DROP);
      |     ^~~~~~~~~~~~~~
      |     SQLFreeStmt
parse.c:223:78: warning: variable 'in_where' set but not used [-Wunused-but-set-variable]
  223 | char in_select = FALSE, in_distinct = FALSE, in_on = FALSE, in_from = FALSE, in_where = FALSE, in_table = FALSE;
      |                                                                              ^~~~~~~~
convert.c: In function 'copy_statement_with_parameters':
convert.c:770:14: warning: variable 'retval' set but not used [-Wunused-but-set-variable]
  770 | int lobj_fd, retval;
      |              ^~~~~~
convert.c:765:12: warning: unused variable 'tim' [-Wunused-variable]
  765 | struct tm *tim;
      |            ^~~
convert.c:764:8: warning: unused variable 't' [-Wunused-variable]
  764 | time_t t = time(NULL);
      |        ^
info.c: In function 'SQLGetInfo':
info.c:70:11: warning: variable 'ci' set but not used [-Wunused-but-set-variable]
   70 | ConnInfo *ci;
      |           ^~
info.c: In function 'SQLTables':
info.c:981:11: warning: implicit declaration of function 'PG_SQLAllocStmt'; did you mean 'SQLAllocStmt'? [-Wimplicit-function-declaration]
  981 |  result = PG_SQLAllocStmt( stmt->hdbc, &htbl_stmt);
      |           ^~~~~~~~~~~~~~~
      |           SQLAllocStmt
info.c:1076:11: warning: implicit declaration of function 'PG_SQLExecDirect'; did you mean 'SQLExecDirect'? [-Wimplicit-function-declaration]
 1076 |  result = PG_SQLExecDirect(htbl_stmt, tables_query, strlen(tables_query));
      |           ^~~~~~~~~~~~~~~~
      |           SQLExecDirect
info.c:1080:3: warning: implicit declaration of function 'PG_SQLFreeStmt'; did you mean 'SQLFreeStmt'? [-Wimplicit-function-declaration]
 1080 |   PG_SQLFreeStmt(htbl_stmt, SQL_DROP);
      |   ^~~~~~~~~~~~~~
      |   SQLFreeStmt
info.c:1084:14: warning: implicit declaration of function 'PG_SQLBindCol'; did you mean 'SQLBindCol'? [-Wimplicit-function-declaration]
 1084 |     result = PG_SQLBindCol(htbl_stmt, 1, SQL_C_CHAR,
      |              ^~~~~~~~~~~~~
      |              SQLBindCol
info.c:1131:11: warning: implicit declaration of function 'PG_SQLFetch'; did you mean 'SQLFetch'? [-Wimplicit-function-declaration]
 1131 |  result = PG_SQLFetch(htbl_stmt);
      |           ^~~~~~~~~~~
      |           SQLFetch
parse.c:593:13: warning: type of 'PG_SQLColumns' does not match original declaration [-Wlto-type-mismatch]
  593 |    result = PG_SQLColumns(hcol_stmt, "", 0, "", 0,
      |             ^
info.c:1219:17: note: return value type mismatch
 1219 | RETCODE SQL_API PG_SQLColumns(
      |                 ^
info.c:1219:17: note: type 'RETCODE' should match type 'int'
info.c:1219:17: note: 'PG_SQLColumns' was previously declared here
info.c:1219:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
statement.c:486:3: warning: type of 'PG_SQLExecute' does not match original declaration [-Wlto-type-mismatch]
  486 |   PG_SQLExecute(self);
      |   ^
execute.c:209:17: note: return value type mismatch
  209 | RETCODE SQL_API PG_SQLExecute(
      |                 ^
execute.c:209:17: note: type 'RETCODE' should match type 'int'
execute.c:209:17: note: 'PG_SQLExecute' was previously declared here
execute.c:209:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
connection.c:1539:11: warning: type of 'PG_SQLFetch' does not match original declaration [-Wlto-type-mismatch]
 1539 |  result = PG_SQLFetch(hstmt);
      |           ^
results.c:761:17: note: return value type mismatch
  761 | RETCODE SQL_API PG_SQLFetch(
      |                 ^
results.c:761:17: note: type 'RETCODE' should match type 'int'
results.c:761:17: note: 'PG_SQLFetch' was previously declared here
results.c:761:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
connection.c:1545:11: warning: type of 'PG_SQLGetData' does not match original declaration [-Wlto-type-mismatch]
 1545 |  result = PG_SQLGetData(hstmt, 1, SQL_C_SLONG, &self->lobj_type, sizeof(self->lobj_type), NULL);
      |           ^
results.c:588:17: note: return value type mismatch
  588 | RETCODE SQL_API PG_SQLGetData(
      |                 ^
results.c:588:17: note: type 'RETCODE' should match type 'int'
results.c:588:17: note: 'PG_SQLGetData' was previously declared here
results.c:588:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
connection.c:1435:11: warning: type of 'PG_SQLAllocStmt' does not match original declaration [-Wlto-type-mismatch]
 1435 |  result = PG_SQLAllocStmt( self, &hstmt);
      |           ^
statement.c:65:17: note: return value type mismatch
   65 | RETCODE SQL_API PG_SQLAllocStmt(HDBC      hdbc,
      |                 ^
statement.c:65:17: note: type 'RETCODE' should match type 'int'
statement.c:65:17: note: 'PG_SQLAllocStmt' was previously declared here
statement.c:65:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
connection.c:1444:11: warning: type of 'PG_SQLExecDirect' does not match original declaration [-Wlto-type-mismatch]
 1444 |  result = PG_SQLExecDirect(hstmt, "set DateStyle to 'ISO'", SQL_NTS);
      |           ^
execute.c:147:17: note: return value type mismatch
  147 | RETCODE SQL_API PG_SQLExecDirect(
      |                 ^
execute.c:147:17: note: type 'RETCODE' should match type 'int'
execute.c:147:17: note: 'PG_SQLExecDirect' was previously declared here
execute.c:147:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
connection.c:1505:2: warning: type of 'PG_SQLFreeStmt' does not match original declaration [-Wlto-type-mismatch]
 1505 |  PG_SQLFreeStmt(hstmt, SQL_DROP);
      |  ^
statement.c:117:17: note: return value type mismatch
  117 | RETCODE SQL_API PG_SQLFreeStmt(HSTMT     hstmt,
      |                 ^
statement.c:117:17: note: type 'RETCODE' should match type 'int'
statement.c:117:17: note: 'PG_SQLFreeStmt' was previously declared here
statement.c:117:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
info.c:1084:14: warning: type of 'PG_SQLBindCol' does not match original declaration [-Wlto-type-mismatch]
 1084 |     result = PG_SQLBindCol(htbl_stmt, 1, SQL_C_CHAR,
      |              ^
bind.c:139:17: note: return value type mismatch
  139 | RETCODE SQL_API PG_SQLBindCol(
      |                 ^
bind.c:139:17: note: type 'RETCODE' should match type 'int'
bind.c:139:17: note: 'PG_SQLBindCol' was previously declared here
bind.c:139:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLBindCol.c: In function 'SQLBindCol':
SQLBindCol.c:27:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   27 |     if( NULL == hStmt )
      |     ^~
SQLBindCol.c:30:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   30 |  sprintf((char*) hStmt->szSqlMsg, "hStmt=$%08lX nCol=%5d", (long) hStmt, nCol );
      |  ^~~~~~~
SQLDisconnect.c: In function 'SQLDisconnect':
SQLDisconnect.c:21:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   21 |     if( NULL == hDbc )
      |     ^~
SQLDisconnect.c:24:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   24 |  sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long)hDbc );
      |  ^~~~~~~
SQLFreeStmt.c: In function 'SQLFreeStmt':
SQLFreeStmt.c:22:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   22 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLFreeStmt.c:25:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   25 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLFreeStmt.c:37:16: warning: implicit declaration of function '_FreeStmt'; did you mean 'SQLFreeStmt'? [-Wimplicit-function-declaration]
   37 |         return _FreeStmt( hStmt );
      |                ^~~~~~~~~
      |                SQLFreeStmt
SQLColumnPrivileges.c: In function 'SQLColumnPrivileges':
SQLColumnPrivileges.c:29:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   29 |     if( NULL == hStmt )
      |     ^~
SQLColumnPrivileges.c:32:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   32 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLAllocHandle.c: In function 'SQLAllocHandle':
SQLAllocHandle.c:23:10: warning: implicit declaration of function '_AllocEnv'; did you mean 'SQLAllocEnv'? [-Wimplicit-function-declaration]
   23 |   return _AllocEnv( (SQLHENV *)pnOutputHandle );
      |          ^~~~~~~~~
      |          SQLAllocEnv
SQLAllocHandle.c:25:10: warning: implicit declaration of function '_AllocConnect'; did you mean 'SQLAllocConnect'? [-Wimplicit-function-declaration]
   25 |   return _AllocConnect( (SQLHENV)nInputHandle, (SQLHDBC *)pnOutputHandle );
      |          ^~~~~~~~~~~~~
      |          SQLAllocConnect
SQLAllocHandle.c:27:10: warning: implicit declaration of function '_AllocStmt'; did you mean 'SQLAllocStmt'? [-Wimplicit-function-declaration]
   27 |   return _AllocStmt( (SQLHDBC)nInputHandle, (SQLHSTMT *)pnOutputHandle );
      |          ^~~~~~~~~~
      |          SQLAllocStmt
SQLDescribeParam.c: In function 'SQLDescribeParam':
SQLDescribeParam.c:26:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   26 |     if( NULL == hStmt )
      |     ^~
SQLDescribeParam.c:29:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   29 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLAllocStmt.c: In function '_AllocStmt':
SQLAllocStmt.c:59:54: warning: format '%lX' expects argument of type 'long unsigned int', but argument 3 has type 'HDRVSTMT' {aka 'struct tDRVSTMT *'} [-Wformat=]
   59 |     sprintf((char*)(*phStmt)->szCursorName, "CUR_%08lX", *phStmt );
      |                                                  ~~~~^   ~~~~~~~
      |                                                      |   |
      |                                                      |   HDRVSTMT {aka struct tDRVSTMT *}
      |                                                      long unsigned int
SQLBindParameter.c: In function 'SQLBindParameter':
SQLBindParameter.c:31:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   31 |     if( NULL == hStmt )
      |     ^~
SQLBindParameter.c:34:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   34 |  sprintf((char*) hStmt->szSqlMsg, "hStmt=$%08lX nParameterNumber=%d nIOType=%d nBufferType=%d nParamType=%d nParamLength=%ld nScale=%d pData=$%08lX nBufferLength=%ld *pnLengthOrIndicator=$%08lX",(long) hStmt,nParameterNumber,nIOType,nBufferType,nParamType,(long) nParamLength,nScale,(long) pData,(long) nBufferLength, *pnLengthOrIndicator );
      |  ^~~~~~~
SQLExtendedFetch.c: In function 'SQLExtendedFetch':
SQLExtendedFetch.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if( NULL == hStmt )
      |     ^~
SQLExtendedFetch.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLCancel.c: In function 'SQLCancel':
SQLCancel.c:21:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   21 |     if( NULL == hStmt )
      |     ^~
SQLCancel.c:24:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   24 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLColumns.c: In function 'SQLColumns':
SQLColumns.c:77:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   77 |     if( NULL == hStmt )
      |     ^~
SQLColumns.c:80:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   80 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLColumns.c:93:3: warning: implicit declaration of function '_FreeResults' [-Wimplicit-function-declaration]
   93 |   _FreeResults( hStmt->hStmtExtras );
      |   ^~~~~~~~~~~~
SQLColumns.c:73:8: warning: unused variable 'szBuffer' [-Wunused-variable]
   73 |  char  szBuffer[101];
      |        ^~~~~~~~
SQLColumns.c:72:8: warning: unused variable 'nRow' [-Wunused-variable]
   72 |  long  nRow;
      |        ^~~~
SQLColumns.c:71:8: warning: unused variable 'nCols' [-Wunused-variable]
   71 |  long  nCols;
      |        ^~~~~
SQLColumns.c:70:8: warning: unused variable 'nColumn' [-Wunused-variable]
   70 |  int   nColumn;
      |        ^~~~~~~
SQLColumns.c:69:13: warning: unused variable 'pColumnHeader' [-Wunused-variable]
   69 |  COLUMNHDR *pColumnHeader;
      |             ^~~~~~~~~~~~~
SQLExecDirect.c: In function 'SQLExecDirect':
SQLExecDirect.c:24:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   24 |     if( NULL == hStmt )
      |     ^~
SQLExecDirect.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLDriverConnect.c: In function 'SQLDriverConnect':
SQLDriverConnect.c:42:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   42 |     if( NULL == hDbc )
      |     ^~
SQLDriverConnect.c:45:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   45 |  sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long)hDbc );
      |  ^~~~~~~
SQLBulkOperations.c: In function 'SQLBulkOperations':
SQLBulkOperations.c:22:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   22 |     if( NULL == hStmt )
      |     ^~
SQLBulkOperations.c:25:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   25 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
      |  ^~~~~~~
SQLBulkOperations.c:25:49: warning: format '%lX' expects argument of type 'long unsigned int', but argument 3 has type 'HDRVSTMT' {aka 'struct tDRVSTMT *'} [-Wformat=]
   25 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
      |                                             ~~~~^   ~~~~~
      |                                                 |   |
      |                                                 |   HDRVSTMT {aka struct tDRVSTMT *}
      |                                                 long unsigned int
SQLColAttributes.c: In function 'SQLColAttributes':
SQLColAttributes.c:28:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   28 |     if( NULL == hStmt )
      |     ^~
SQLColAttributes.c:31:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   31 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLExecute.c: In function 'SQLExecute':
SQLExecute.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if( NULL == hStmt )
      |     ^~
SQLExecute.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLExecute.c:41:3: warning: implicit declaration of function '_FreeResults' [-Wimplicit-function-declaration]
   41 |   _FreeResults( hStmt->hStmtExtras );
      |   ^~~~~~~~~~~~
SQLExecute.c:22:13: warning: unused variable 'pColumnHeader' [-Wunused-variable]
   22 |  COLUMNHDR *pColumnHeader;
      |             ^~~~~~~~~~~~~
SQLExecute.c:21:8: warning: unused variable 'nRow' [-Wunused-variable]
   21 |  int   nRow;
      |        ^~~~
SQLExecute.c:20:8: warning: unused variable 'nCols' [-Wunused-variable]
   20 |  int   nCols;
      |        ^~~~~
SQLExecute.c:19:8: warning: unused variable 'nColumn' [-Wunused-variable]
   19 |  int   nColumn;
      |        ^~~~~~~
SQLColAttribute.c: In function 'SQLColAttribute':
SQLColAttribute.c:29:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   29 |     if( !hStmt )
      |     ^~
SQLColAttribute.c:31:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   31 |  if ( !hStmt->hStmtExtras )
      |  ^~
SQLGetConnectOption.c: In function 'SQLGetConnectOption':
SQLGetConnectOption.c:23:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   23 |     if( NULL == hDbc )
      |     ^~
SQLGetConnectOption.c:26:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   26 |  sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long)hDbc );
      |  ^~~~~~~
SQLFreeEnv.c: In function '_FreeEnv':
SQLFreeEnv.c:24:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   24 |     if( hEnv == SQL_NULL_HENV )
      |     ^~
SQLFreeEnv.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  sprintf((char*) hEnv->szSqlMsg, "hEnv = $%08lX", (long)hEnv );
      |  ^~~~~~~
SQLFreeHandle.c: In function 'SQLFreeHandle':
SQLFreeHandle.c:23:16: warning: implicit declaration of function '_FreeEnv'; did you mean 'SQLFreeEnv'? [-Wimplicit-function-declaration]
   23 |         return _FreeEnv( (SQLHENV)nHandle );
      |                ^~~~~~~~
      |                SQLFreeEnv
SQLFreeHandle.c:26:16: warning: implicit declaration of function '_FreeConnect'; did you mean 'SQLFreeConnect'? [-Wimplicit-function-declaration]
   26 |         return _FreeConnect( (SQLHDBC)nHandle );
      |                ^~~~~~~~~~~~
      |                SQLFreeConnect
SQLFreeHandle.c:29:16: warning: implicit declaration of function '_FreeStmt'; did you mean 'SQLFreeStmt'? [-Wimplicit-function-declaration]
   29 |         return _FreeStmt( (SQLHSTMT)nHandle );
      |                ^~~~~~~~~
      |                SQLFreeStmt
SQLFetchScroll.c: In function 'SQLFetchScroll':
SQLFetchScroll.c:23:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   23 |     if( NULL == hStmt )
      |     ^~
SQLFetchScroll.c:26:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   26 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLForeignKeys.c: In function 'SQLForeignKeys':
SQLForeignKeys.c:33:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   33 |     if( NULL == hStmt )
      |     ^~
SQLForeignKeys.c:36:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   36 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLGetConnectAttr.c: In function 'SQLGetConnectAttr':
SQLGetConnectAttr.c:27:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   27 |     if( NULL == hDbc )
      |     ^~
SQLGetConnectAttr.c:30:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   30 |  sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long)hDbc );
      |  ^~~~~~~
SQLFreeConnect.c: In function '_FreeConnect':
SQLFreeConnect.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if( NULL == hDbc )
      |     ^~
SQLFreeConnect.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long)hDbc );
      |  ^~~~~~~
SQLFreeConnect.c:43:12: warning: implicit declaration of function '_FreeDbc' [-Wimplicit-function-declaration]
   43 |  nReturn = _FreeDbc( hDbc );
      |            ^~~~~~~~
SQLProcedureColumns.c: In function 'SQLProcedureColumns':
SQLProcedureColumns.c:30:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   30 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLProcedureColumns.c:33:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   33 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLSetStmtOption.c: In function 'SQLSetStmtOption':
SQLSetStmtOption.c:23:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   23 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLSetStmtOption.c:26:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   26 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLPutData.c: In function 'SQLPutData':
SQLPutData.c:26:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   26 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLPutData.c:29:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   29 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLSetCursorName.c: In function 'SQLSetCursorName':
SQLSetCursorName.c:23:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   23 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLSetCursorName.c:26:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   26 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLTablePrivileges.c: In function 'SQLTablePrivileges':
SQLTablePrivileges.c:27:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   27 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLTablePrivileges.c:30:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   30 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
_FreeStmtList.c: In function '_FreeStmtList':
_FreeStmtList.c:26:10: warning: implicit declaration of function '_FreeStmt'; did you mean 'SQLFreeStmt'? [-Wimplicit-function-declaration]
   26 |  while ( _FreeStmt( hDbc->hFirstStmt ) == SQL_SUCCESS )
      |          ^~~~~~~~~
      |          SQLFreeStmt
SQLSetParam.c: In function 'SQLSetParam':
SQLSetParam.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLSetParam.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLProcedures.c: In function 'SQLProcedures':
SQLProcedures.c:28:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   28 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLProcedures.c:31:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   31 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLSetScrollOptions.c: In function 'SQLSetScrollOptions':
SQLSetScrollOptions.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLSetScrollOptions.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
      |  ^~~~~~~
SQLPrimaryKeys.c: In function 'SQLPrimaryKeys':
SQLPrimaryKeys.c:27:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   27 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLPrimaryKeys.c:30:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   30 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLSpecialColumns.c: In function 'SQLSpecialColumns':
SQLSpecialColumns.c:42:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   42 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLSpecialColumns.c:45:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   45 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLStatistics.c: In function 'SQLStatistics':
SQLStatistics.c:63:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   63 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLStatistics.c:66:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   66 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
      |  ^~~~~~~
SQLStatistics.c:85:3: warning: implicit declaration of function '_FreeResults' [-Wimplicit-function-declaration]
   85 |   _FreeResults( hStmt->hStmtExtras );
      |   ^~~~~~~~~~~~
SQLStatistics.c:60:8: warning: unused variable 'szSQL' [-Wunused-variable]
   60 |  char  szSQL[200];
      |        ^~~~~
SQLStatistics.c:59:13: warning: unused variable 'pColumnHeader' [-Wunused-variable]
   59 |  COLUMNHDR *pColumnHeader;
      |             ^~~~~~~~~~~~~
SQLStatistics.c:58:8: warning: unused variable 'nRow' [-Wunused-variable]
   58 |  int   nRow;
      |        ^~~~
SQLStatistics.c:57:8: warning: unused variable 'nCols' [-Wunused-variable]
   57 |  int   nCols;
      |        ^~~~~
SQLStatistics.c:56:8: warning: unused variable 'nColumn' [-Wunused-variable]
   56 |  int   nColumn;
      |        ^~~~~~~
SQLTables.c: In function 'SQLTables':
SQLTables.c:58:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   58 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLTables.c:61:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   61 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLTables.c:68:3: warning: implicit declaration of function '_FreeResults' [-Wimplicit-function-declaration]
   68 |   _FreeResults( hStmt->hStmtExtras );
      |   ^~~~~~~~~~~~
SQLTables.c:55:8: warning: unused variable 'nResultMemory' [-Wunused-variable]
   55 |  long  nResultMemory;
      |        ^~~~~~~~~~~~~
SQLTables.c:54:8: warning: unused variable 'nColumn' [-Wunused-variable]
   54 |  int   nColumn;
      |        ^~~~~~~
SQLTables.c:53:13: warning: unused variable 'pColumnHeader' [-Wunused-variable]
   53 |  COLUMNHDR *pColumnHeader;
      |             ^~~~~~~~~~~~~
SQLSetStmtAttr.c: In function 'SQLSetStmtAttr':
SQLSetStmtAttr.c:25:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLSetStmtAttr.c:28:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   28 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
_FreeDbcList.c: In function '_FreeDbcList':
_FreeDbcList.c:23:10: warning: implicit declaration of function '_FreeDbc'; did you mean '_FreeDbcList'? [-Wimplicit-function-declaration]
   23 |  while ( _FreeDbc( hEnv->hFirstDbc ) == SQL_SUCCESS )
      |          ^~~~~~~~
      |          _FreeDbcList
SQLRowCount.c: In function 'SQLRowCount':
SQLRowCount.c:22:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   22 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLRowCount.c:25:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   25 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLSetPos.c: In function 'SQLSetPos':
SQLSetPos.c:24:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   24 |     if( hStmt == SQL_NULL_HSTMT )
      |     ^~
SQLSetPos.c:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   27 |  sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long)hStmt );
      |  ^~~~~~~
SQLTransact.c: In function 'SQLTransact':
SQLTransact.c:20:10: warning: unused variable 'hEnv' [-Wunused-variable]
   20 |  HDRVENV hEnv = (HDRVENV)hDrvEnv;
      |          ^~~~
_FreeStmt.c: In function '_FreeStmt':
_FreeStmt.c:37:2: warning: implicit declaration of function '_FreeResults' [-Wimplicit-function-declaration]
   37 |  _FreeResults( hStmt->hStmtExtras );
      |  ^~~~~~~~~~~~
_FreeStmt.c:13:12: warning: unused variable 'nReturn' [-Wunused-variable]
   13 |  SQLRETURN nReturn;
      |            ^~~~~~~
_FreeStmt.c:12:11: warning: unused variable 'hPrevStmt' [-Wunused-variable]
   12 |  HDRVSTMT hPrevStmt;
      |           ^~~~~~~~~
_FreeDbc.c: In function '_FreeDbc':
_FreeDbc.c:20:12: warning: implicit declaration of function '_FreeStmtList' [-Wimplicit-function-declaration]
   20 |  nReturn = _FreeStmtList( hDbc );
      |            ^~~~~~~~~~~~~
_FreeDbc.c:12:11: warning: unused variable 'hPrevDbc' [-Wunused-variable]
   12 |  HDRVDBC  hPrevDbc;
      |           ^~~~~~~~
_FreeDbc.c:20:12: warning: type of '_FreeStmtList' does not match original declaration [-Wlto-type-mismatch]
   20 |  nReturn = _FreeStmtList( hDbc );
      |            ^
_FreeStmtList.c:16:11: note: return value type mismatch
   16 | SQLRETURN _FreeStmtList( SQLHDBC hDrvDbc )
      |           ^
_FreeStmtList.c:16:11: note: type 'SQLRETURN' should match type 'int'
_FreeStmtList.c:16:11: note: '_FreeStmtList' was previously declared here
_FreeStmtList.c:16:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLFreeHandle.c:29:16: warning: type of '_FreeStmt' does not match original declaration [-Wlto-type-mismatch]
   29 |         return _FreeStmt( (SQLHSTMT)nHandle );
      |                ^
_FreeStmt.c:9:11: note: return value type mismatch
    9 | SQLRETURN _FreeStmt( SQLHSTMT hDrvStmt )
      |           ^
_FreeStmt.c:9:11: note: type 'SQLRETURN' should match type 'int'
_FreeStmt.c:9:11: note: '_FreeStmt' was previously declared here
_FreeStmt.c:9:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLFreeHandle.c:23:16: warning: type of '_FreeEnv' does not match original declaration [-Wlto-type-mismatch]
   23 |         return _FreeEnv( (SQLHENV)nHandle );
      |                ^
SQLFreeEnv.c:19:11: note: return value type mismatch
   19 | SQLRETURN _FreeEnv( SQLHENV hDrvEnv )
      |           ^
SQLFreeEnv.c:19:11: note: type 'SQLRETURN' should match type 'int'
SQLFreeEnv.c:19:11: note: '_FreeEnv' was previously declared here
SQLFreeEnv.c:19:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLFreeConnect.c:43:12: warning: type of '_FreeDbc' does not match original declaration [-Wlto-type-mismatch]
   43 |  nReturn = _FreeDbc( hDbc );
      |            ^
_FreeDbc.c:9:11: note: return value type mismatch
    9 | SQLRETURN _FreeDbc( SQLHDBC hDrvDbc )
      |           ^
_FreeDbc.c:9:11: note: type 'SQLRETURN' should match type 'int'
_FreeDbc.c:9:11: note: '_FreeDbc' was previously declared here
_FreeDbc.c:9:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLFreeHandle.c:26:16: warning: type of '_FreeConnect' does not match original declaration [-Wlto-type-mismatch]
   26 |         return _FreeConnect( (SQLHDBC)nHandle );
      |                ^
SQLFreeConnect.c:19:11: note: return value type mismatch
   19 | SQLRETURN _FreeConnect( SQLHDBC hDrvDbc )
      |           ^
SQLFreeConnect.c:19:11: note: type 'SQLRETURN' should match type 'int'
SQLFreeConnect.c:19:11: note: '_FreeConnect' was previously declared here
SQLFreeConnect.c:19:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLColumns.c:93:3: warning: type of '_FreeResults' does not match original declaration [-Wlto-type-mismatch]
   93 |   _FreeResults( hStmt->hStmtExtras );
      |   ^
_FreeResults.c:9:11: note: return value type mismatch
    9 | SQLRETURN _FreeResults( HSTMTEXTRAS hStmt )
      |           ^
_FreeResults.c:9:11: note: type 'SQLRETURN' should match type 'int'
_FreeResults.c:9:11: note: '_FreeResults' was previously declared here
_FreeResults.c:9:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLAllocHandle.c:27:10: warning: type of '_AllocStmt' does not match original declaration [-Wlto-type-mismatch]
   27 |   return _AllocStmt( (SQLHDBC)nInputHandle, (SQLHSTMT *)pnOutputHandle );
      |          ^
SQLAllocStmt.c:16:11: note: return value type mismatch
   16 | SQLRETURN _AllocStmt(   SQLHDBC     hDrvDbc,
      |           ^
SQLAllocStmt.c:16:11: note: type 'SQLRETURN' should match type 'int'
SQLAllocStmt.c:16:11: note: '_AllocStmt' was previously declared here
SQLAllocStmt.c:16:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLAllocHandle.c:23:10: warning: type of '_AllocEnv' does not match original declaration [-Wlto-type-mismatch]
   23 |   return _AllocEnv( (SQLHENV *)pnOutputHandle );
      |          ^
SQLAllocEnv.c:16:11: note: return value type mismatch
   16 | SQLRETURN _AllocEnv( SQLHENV *phDrvEnv )
      |           ^
SQLAllocEnv.c:16:11: note: type 'SQLRETURN' should match type 'int'
SQLAllocEnv.c:16:11: note: '_AllocEnv' was previously declared here
SQLAllocEnv.c:16:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
SQLAllocHandle.c:25:10: warning: type of '_AllocConnect' does not match original declaration [-Wlto-type-mismatch]
   25 |   return _AllocConnect( (SQLHENV)nInputHandle, (SQLHDBC *)pnOutputHandle );
      |          ^
SQLAllocConnect.c:17:11: note: return value type mismatch
   17 | SQLRETURN _AllocConnect( SQLHENV    hDrvEnv,
      |           ^
SQLAllocConnect.c:17:11: note: type 'SQLRETURN' should match type 'int'
SQLAllocConnect.c:17:11: note: '_AllocConnect' was previously declared here
SQLAllocConnect.c:17:11: note: code may be misoptimized unless '-fno-strict-aliasing' is used
In file included from driver.h:28,
                 from SQLDriverConnect.c:16:
SQLDriverConnect.c: In function 'SQLDriverConnect':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLDriverConnect.c:33:2: note: in expansion of macro 'UNSET_ERROR'
   33 |  UNSET_ERROR( pdbc->herr );
      |  ^~~~~~~~~~~
SQLDriverConnect.c:64:8: warning: implicit declaration of function 'nnodbc_conndialog' [-Wimplicit-function-declaration]
   64 |   if ( nnodbc_conndialog( hwnd, buf, sizeof(buf)) )
      |        ^~~~~~~~~~~~~~~~~
In file included from driver.h:28,
                 from SQLGetConnectOption.c:16:
SQLGetConnectOption.c: In function 'SQLGetConnectOption':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLGetConnectOption.c:23:2: note: in expansion of macro 'UNSET_ERROR'
   23 |  UNSET_ERROR( pdbc->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLPrepare.c:16:
SQLPrepare.c: In function 'SQLPrepare':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLPrepare.c:25:2: note: in expansion of macro 'UNSET_ERROR'
   25 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLSetConnectOption.c:16:
SQLSetConnectOption.c: In function 'SQLSetConnectOption':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLSetConnectOption.c:22:2: note: in expansion of macro 'UNSET_ERROR'
   22 |  UNSET_ERROR( pdbc->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLExecute.c:16:
SQLExecute.c: In function 'SQLExecute':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLExecute.c:23:2: note: in expansion of macro 'UNSET_ERROR'
   23 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
SQLExecute.c:25:9: warning: implicit declaration of function 'sqlexecute'; did you mean 'nnsql_execute'? [-Wimplicit-function-declaration]
   25 |  return sqlexecute(hstmt);
      |         ^~~~~~~~~~
      |         nnsql_execute
In file included from driver.h:28,
                 from SQLConnect.c:16:
SQLConnect.c: In function 'SQLConnect':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLConnect.c:31:2: note: in expansion of macro 'UNSET_ERROR'
   31 |  UNSET_ERROR( pdbc->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLFreeConnect.c:16:
SQLFreeConnect.c: In function 'SQLFreeConnect':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLFreeConnect.c:25:2: note: in expansion of macro 'UNSET_ERROR'
   25 |  UNSET_ERROR( pdbc->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLDescribeCol.c:16:
SQLDescribeCol.c: In function 'SQLDescribeCol':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLDescribeCol.c:34:2: note: in expansion of macro 'UNSET_ERROR'
   34 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLCancel.c:16:
SQLCancel.c: In function 'SQLCancel':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLCancel.c:25:2: note: in expansion of macro 'UNSET_ERROR'
   25 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLExecDirect.c:16:
SQLExecDirect.c: In function 'SQLExecDirect':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLExecDirect.c:26:2: note: in expansion of macro 'UNSET_ERROR'
   26 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
SQLExecDirect.c:34:13: warning: implicit declaration of function 'sqlexecute'; did you mean 'nnsql_execute'? [-Wimplicit-function-declaration]
   34 |  sqlcode |= sqlexecute(hstmt);
      |             ^~~~~~~~~~
      |             nnsql_execute
In file included from driver.h:28,
                 from SQLAllocConnect.c:17:
SQLAllocConnect.c: In function 'SQLAllocConnect':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLAllocConnect.c:27:2: note: in expansion of macro 'UNSET_ERROR'
   27 |  UNSET_ERROR( penv->herr );
      |  ^~~~~~~~~~~
SQLAllocConnect.c:25:8: warning: unused variable 'i' [-Wunused-variable]
   25 |  int   i;
      |        ^
In file included from driver.h:28,
                 from SQLDisconnect.c:16:
SQLDisconnect.c: In function 'SQLDisconnect':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLDisconnect.c:23:2: note: in expansion of macro 'UNSET_ERROR'
   23 |  UNSET_ERROR( pdbc->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLPutData.c:16:
SQLPutData.c: In function 'SQLPutData':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLPutData.c:30:2: note: in expansion of macro 'UNSET_ERROR'
   30 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
SQLPutData.c:79:2: warning: implicit declaration of function 'sqlputdata'; did you mean 'nnsql_putdate'? [-Wimplicit-function-declaration]
   79 |  sqlputdata( pstmt, pstmt->putipar, data );
      |  ^~~~~~~~~~
      |  nnsql_putdate
In file included from driver.h:28,
                 from SQLFetch.c:16:
SQLFetch.c: In function 'SQLFetch':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLFetch.c:29:2: note: in expansion of macro 'UNSET_ERROR'
   29 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLNumResultCols.c:16:
SQLNumResultCols.c: In function 'SQLNumResultCols':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLNumResultCols.c:24:2: note: in expansion of macro 'UNSET_ERROR'
   24 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
SQLSetParam.c: In function 'SQLSetParam':
SQLSetParam.c:28:9: warning: implicit declaration of function 'SQLBindParameter' [-Wimplicit-function-declaration]
   28 |  return SQLBindParameter(hstmt,
      |         ^~~~~~~~~~~~~~~~
In file included from driver.h:28,
                 from SQLGetData.c:16:
SQLGetData.c: In function 'SQLGetData':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLGetData.c:34:2: note: in expansion of macro 'UNSET_ERROR'
   34 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLBindParameter.c:16:
SQLBindParameter.c: In function 'SQLBindParameter':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLBindParameter.c:35:2: note: in expansion of macro 'UNSET_ERROR'
   35 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
SQLBindParameter.c:31:11: warning: unused variable 'i' [-Wunused-variable]
   31 |  int      i, max;
      |           ^
In file included from driver.h:28,
                 from SQLNumParams.c:16:
SQLNumParams.c: In function 'SQLNumParams':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLNumParams.c:24:2: note: in expansion of macro 'UNSET_ERROR'
   24 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
In file included from driver.h:28,
                 from SQLBindCol.c:16:
SQLBindCol.c: In function 'SQLBindCol':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLBindCol.c:30:2: note: in expansion of macro 'UNSET_ERROR'
   30 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
SQLBindCol.c:28:11: warning: unused variable 'i' [-Wunused-variable]
   28 |  int      i, max;
      |           ^
In file included from nncol.c:20:
nncol.ci:11:1: warning: missing braces around initializer [-Wmissing-braces]
   11 | {
      | ^
   12 |  en_article_num, "Article-Num", en_t_num, 0, 0,
      |  {                                            }
   13 |  en_article_num, "Article", en_t_num, 0, 0, /* alias name */
      |  {                                        }
   14 | 
   15 |  en_newsgroups, "Newsgroups", en_t_str, 1, 0,
      |  {                                          }
   16 |  en_newsgroups, "Groups", en_t_str, 1, 0, /* alias name */
      |  {                                      }
   17 |  en_subject, "Subject", en_t_str, 0, 1,
      |  {                                    }
   18 |  en_from, "From",  en_t_str, 0, 1,
      |  {                               }
   19 |  en_sender, "Sender", en_t_str, 1, 1,
      |  {                                  }
   20 |  en_organization,"Organization", en_t_str, 1, 1,
      |  {                                             }
   21 |  en_summary, "Summary", en_t_str, 1, 1,
      |  {                                    }
   22 |  en_keywords, "Keywords", en_t_str, 1, 1,
      |  {                                      }
   23 |  en_expires, "Expires", en_t_str, 1, 1,
      |  {                                    }
   24 |  en_msgid, "Message-ID", en_t_str, 1, 1,
      |  {                                     }
   25 |  en_msgid, "Msgid", en_t_str, 1, 1, /* alias name */
      |  {                                }
   26 |  en_references, "References", en_t_str, 1, 1,
      |  {                                          }
   27 |  en_followup_to, "Followup-To", en_t_str, 1, 1,
      |  {                                            }
   28 |  en_reply_to, "Reply-To", en_t_str, 1, 1,
      |  {                                      }
   29 |  en_distribution,"Distribution", en_t_str, 1, 1,
      |  {                                             }
   30 | 
   31 |  en_xref, "Xref",  en_t_str, 1, 0,
      |  {                               }
   32 |  en_host,   "NNTP-Posting-Host", en_t_str, 1, 0,
      |  {                                             }
   33 |  en_host, "Host",  en_t_str, 1, 0, /* alias name */
      |  {                               }
   34 |  en_date, "Date",  en_t_date,1, 0,
      |  {                               }
   35 |  en_path, "Path",  en_t_str, 1, 0,
      |  {                               }
   36 | 
   37 |  en_lines, "Lines", en_t_num, 1, 0,
      |  {                                }
   38 | 
   39 |  en_x_newsreader,"X-Newsreader", en_t_str, 1, 0,
      |  {                                             }
   40 |  en_x_newsreader,"Agent", en_t_str, 1, 0, /* alias name */
      |  {                                      }
   41 | 
   42 |  en_body, "Body",  en_t_text,0, 1,
      |  {                               }
   43 |  en_body, "Text",  en_t_text,0, 1, /* alias name */
      |  {                               }
   44 | 
   45 |  en_sql_count, "count()", en_t_num, 1, 0,
      |  {                                      }
   46 |  en_sql_qstr, "qstring", en_t_str, 1, 0,
      |  {                                     }
   47 |  en_sql_num, "number", en_t_num, 1, 0,
      |  {                                   }
   48 |  en_sql_date, "const. date", en_t_date,1, 0
      |  {
   49 | };
      | }
nncol.c: In function 'nnsql_getcolidxbyname':
nncol.c:28:6: warning: implicit declaration of function 'upper_strneq' [-Wimplicit-function-declaration]
   28 |   if(upper_strneq( col_name, nncol_info_tab[i].name, 16))
      |      ^~~~~~~~~~~~
In file included from driver.h:28,
                 from SQLParamData.c:16:
SQLParamData.c: In function 'SQLParamData':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLParamData.c:29:2: note: in expansion of macro 'UNSET_ERROR'
   29 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
SQLParamData.c:60:4: warning: implicit declaration of function 'sqlputdata'; did you mean 'nnsql_putdate'? [-Wimplicit-function-declaration]
   60 |    sqlputdata( pstmt, ipar, data );
      |    ^~~~~~~~~~
      |    nnsql_putdate
In file included from yyerr.c:20:
yyerr.ci:6:17: warning: missing braces around initializer [-Wmissing-braces]
    6 | } yy_errmsg[] = {
      |                 ^
connect.c: In function 'getinitfile':
connect.c:161:24: warning: implicit declaration of function 'getuid'; did you mean 'getpwuid'? [-Wimplicit-function-declaration]
  161 |  ptr = (char*)getpwuid(getuid());
      |                        ^~~~~~
      |                        getpwuid
connect.c:138:6: warning: unused variable 'i' [-Wunused-variable]
  138 |  int i, j;
      |      ^
connect.c: In function 'getkeyvalbydsn':
connect.c:266:8: warning: implicit declaration of function 'upper_strneq' [-Wimplicit-function-declaration]
  266 |    if( upper_strneq(str, "[default]", STRLEN("[default]")) )
      |        ^~~~~~~~~~~~
In file included from driver.h:18,
                 from connect.c:16:
nnconfig.h:38:29: warning: the address of 'token' will always evaluate as 'true' [-Waddress]
   38 | #  define STRLEN(str) ((str)? strlen((char*)(str)):0)
      |                             ^
connect.c:313:8: note: in expansion of macro 'STRLEN'
  313 |    if( STRLEN(token) > size - 1)
      |        ^~~~~~
In file included from driver.h:28,
                 from SQLRowCount.c:16:
SQLRowCount.c: In function 'SQLRowCount':
herr.h:129:4: warning: implicit declaration of function 'nnodbc_errstkunset'; did you mean 'nnodbc_errstkempty'? [-Wimplicit-function-declaration]
  129 |    nnodbc_errstkunset(stack)
      |    ^~~~~~~~~~~~~~~~~~
SQLRowCount.c:24:2: note: in expansion of macro 'UNSET_ERROR'
   24 |  UNSET_ERROR( pstmt->herr );
      |  ^~~~~~~~~~~
nndate.c: In function 'nndate2date':
nndate.c:41:5: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   41 |  if(i = atoi(buf))
      |     ^
nndate.c:56:7: warning: implicit declaration of function 'upper_strneq' [-Wimplicit-function-declaration]
   56 |   if( upper_strneq(buf, month_name[i], 3) )
      |       ^~~~~~~~~~~~
execute.c: In function 'sqlexecute':
execute.c:62:16: warning: unused variable 'flag' [-Wunused-variable]
   62 |  int  i, npar, flag = 0;
      |                ^~~~
yytchk.c: In function 'getleaftype':
yytchk.c:27:12: warning: variable 'attr' set but not used [-Wunused-but-set-variable]
   27 |  yyattr_t* attr;
      |            ^~~~
yytchk.c: In function 'srchtree_tchk':
yytchk.c:118:12: warning: unused variable 'flag' [-Wunused-variable]
  118 |  int r, s, flag = 0;
      |            ^~~~
In file included from herr.c:20:
herr.ci:6:21: warning: missing braces around initializer [-Wmissing-braces]
    6 | } sqlerrmsg_tab[] = {
      |                     ^
    7 |  en_00000, "00000", "",
      |  {                    }
    8 |  en_01000, "01000", "General warning",
      |  {                                   }
    9 |  en_01002, "01002", "Disconnect error",
      |  {                                    }
   10 |  en_01004, "01004", "Data truncated",
      |  {                                  }
   11 |  en_01006, "01006", "Privilege not revoked",
      |  {                                         }
   12 |  en_01S00, "01S00", "Invalid connection string attribute",
      |  {                                                       }
   13 |  en_01S01, "01S01", "Error in row",
      |  {                                }
   14 |  en_01S02, "01S02", "Optional value changed",
      |  {                                          }
   15 |  en_01S03, "01S03", "No rows updated or deleted",
      |  {                                              }
   16 |  en_01S04, "01S04", "More than one row updated or deleted",
      |  {                                                        }
   17 |  en_07001, "07001", "Wrong number of parameters",
      |  {                                              }
   18 |  en_07006, "07006", "Restricted data type attribute violation",
      |  {                                                            }
   19 |  en_08001, "08001", "Unable to connect to data source",
      |  {                                                    }
   20 |  en_08002, "08002", "Connection in use",
      |  {                                     }
   21 |  en_08003, "08003", "Connect not open",
      |  {                                    }
   22 |  en_08004, "08004", "Data source rejected establishment of connection",
      |  {                                                                    }
   23 |  en_08007, "08007", "Connection failure during transaction",
      |  {                                                         }
   24 |  en_08S01, "08S01", "Communication link failure",
      |  {                                              }
   25 |  en_0A000, "0A000", "Feature not supported",
      |  {                                         }
   26 |  en_21S01, "21S01", "Insert value list does not match",
      |  {                                                    }
   27 |  en_21S02, "21S02", "Degree of derived table does not match column list",
      |  {                                                                      }
   28 |  en_22001, "22001", "String data right truncation",
      |  {                                                }
   29 |  en_22003, "22003", "Numeric value out of range",
      |  {                                              }
   30 |  en_22005, "22005", "Error in assignment",
      |  {                                       }
   31 |  en_22008, "22008", "Datetime field overflow",
      |  {                                           }
   32 |  en_22012, "22012", "Division by zero",
      |  {                                    }
   33 |  en_22026, "22026", "String data, length mismatch",
      |  {                                                }
   34 |  en_23000, "23000", "Integrity constraint violation",
      |  {                                                  }
   35 |  en_24000, "24000", "Invalid cursor state",
      |  {                                        }
   36 |  en_25000, "25000", "Invalid transaction state",
      |  {                                             }
   37 |  en_28000, "28000", "Invalid authorization specification",
      |  {                                                       }
   38 |  en_34000, "34000", "Invalid cursor name",
      |  {                                       }
   39 |  en_37000, "37000", "Syntex error or access violation",
      |  {                                                    }
   40 |  en_3C000, "3C000", "Duplicate cursor name",
      |  {                                         }
   41 |  en_40001, "40001", "Serialization failure",
      |  {                                         }
   42 |  en_42000, "42000", "Syntax error or access violation",
      |  {                                                    }
   43 |  en_70100, "70100", "Operation aborted",
      |  {                                     }
   44 |  en_IM001, "IM001", "Driver does not support this function",
      |  {                                                         }
   45 |  en_IM002, "IM002", "Data source name not found and no default "
      |  {
   46 |       "driver specified. Driver could not be loaded",
      |                                                     }
   47 |  en_IM003, "IM003", "Specified driver could not be loaded",
      |  {                                                        }
   48 |  en_IM004, "IM004", "Driver's SQLAllocEnv() failed",
      |  {                                                 }
   49 |  en_IM005, "IM005", "Driver's SQLAllocConnect() failed",
      |  {                                                     }
   50 |  en_IM006, "IM006", "Driver's SQLSetConnectOption failed",
      |  {                                                       }
   51 |  en_IM007, "IM007", "No data source or driver specified, dialog prohibited",
      |  {                                                                         }
   52 |  en_IM008, "IM008", "Dialog failed",
      |  {                                 }
   53 |  en_IM009, "IM009", "Unable to load translation DLL",
      |  {                                                  }
   54 |  en_IM010, "IM010", "Data source name too long",
      |  {                                             }
   55 |  en_IM011, "IM011", "Driver name too long",
      |  {                                        }
   56 |  en_IM012, "IM012", "DRIVER keyword syntax error",
      |  {                                               }
   57 |  en_IM013, "IM013", "Trace file error",
      |  {                                    }
   58 |  en_IM014, "IM014", "Try to change tracing file while tracing is on",
      |  {                                                                  }
   59 |  en_S0001, "S0001", "Base table or view already exists",
      |  {                                                     }
   60 |  en_S0002, "S0002", "Base table not found",
      |  {                                        }
   61 |  en_S0011, "S0011", "Index already exists",
      |  {                                        }
   62 |  en_S0012, "S0012", "Index not found",
      |  {                                   }
   63 |  en_S0021, "S0021", "Column already exists",
      |  {                                         }
   64 |  en_S0022, "S0022", "Column not found",
      |  {                                    }
   65 |  en_S0023, "S0023", "No default for column",
      |  {                                         }
   66 |  en_S1000, "S1000", "General error",
      |  {                                 }
   67 |  en_S1001, "S1001", "Memory allocation failure",
      |  {                                             }
   68 |  en_S1002, "S1002", "Invalid column number",
      |  {                                         }
   69 |  en_S1003, "S1003", "Program type out of range",
      |  {                                             }
   70 |  en_S1004, "S1004", "SQL data type out of range",
      |  {                                              }
   71 |  en_S1008, "S1008", "Operation canceled",
      |  {                                      }
   72 |  en_S1009, "S1009", "Invalid argument value",
      |  {                                          }
   73 |  en_S1010, "S1010", "Function sequence error",
      |  {                                           }
   74 |  en_S1011, "S1011", "Operation invalid at this time",
      |  {                                                  }
   75 |  en_S1012, "S1012", "Invalid transaction operation code specified",
      |  {                                                                }
   76 |  en_S1015, "S1015", "No cursor name available",
      |  {                                            }
   77 |  en_S1090, "S1090", "Invalid string or buffer length",
      |  {                                                   }
   78 |  en_S1091, "S1091", "Descriptor type out of range",
      |  {                                                }
   79 |  en_S1092, "S1092", "Option type out of range",
      |  {                                            }
   80 |  en_S1093, "S1093", "Invalid parameter",
      |  {                                     }
   81 |  en_S1094, "S1094", "Invalid scale value",
      |  {                                       }
   82 |  en_S1095, "S1095", "Function type out of range",
      |  {                                              }
   83 |  en_S1096, "S1096", "Information type out of range",
      |  {                                                 }
   84 |  en_S1097, "S1097", "Column type out of range",
      |  {                                            }
   85 |  en_S1098, "S1098", "Scope type out of range",
      |  {                                           }
   86 |  en_S1099, "S1099", "Nullable type out of range",
      |  {                                              }
   87 |  en_S1100, "S1100", "Uniquenss option type out of range",
      |  {                                                      }
   88 |  en_S1101, "S1101", "Accuracy option type out of range",
      |  {                                                     }
   89 |  en_S1103, "S1103", "Direction option out of range",
      |  {                                                 }
   90 |  en_S1104, "S1104", "Invalid precision value",
      |  {                                           }
   91 |  en_S1105, "S1105", "Invalid parameter type",
      |  {                                          }
   92 |  en_S1106, "S1106", "Fetch type out of range",
      |  {                                           }
   93 |  en_S1107, "S1107", "Row value out of range",
      |  {                                          }
   94 |  en_S1108, "S1108", "Concurrency option out of range",
      |  {                                                   }
   95 |  en_S1109, "S1109", "Invalid cursor position",
      |  {                                           }
   96 |  en_S1110, "S1110", "Invalid driver completion",
      |  {                                             }
   97 |  en_S1111, "S1111", "Invalid bookmark value",
      |  {                                          }
   98 |  en_S1C00, "S1C00", "Driver not capable",
      |  {                                      }
   99 |  en_S1T00, "S1T00", "Timeout expired",
      |  {                                   }
  100 |  -1,   0,    0
      |  {
  101 | };
      | }
convert.c: In function 'char2str':
convert.c:46:6: warning: unused variable 'len' [-Wunused-variable]
   46 |  int len;
      |      ^~~
convert.c: At top level:
convert.c:187:1: warning: missing braces around initializer [-Wmissing-braces]
  187 | {
      | ^
  188 |  char2str,  char2num, char2date,
      |  {                             }
  189 |  tint2str,  tint2num, 0,
      |  {                     }
  190 |  short2str, short2num,0,
      |  {                     }
  191 |  long2str,  long2num, 0,
      |  {                     }
  192 |  date2str,  0,      odate2date
      |  {
  193 | };
      | }
convert.c:199:1: warning: missing braces around initializer [-Wmissing-braces]
  199 | {
      | ^
convert.c:221:1: warning: missing braces around initializer [-Wmissing-braces]
  221 | {
      | ^
convert.c:413:1: warning: missing braces around initializer [-Wmissing-braces]
  413 | {
      | ^
  414 |  str2char,  str2tint, str2short, str2long, str2date,
      |  {                                                 }
  415 |  num2char,  num2tint, num2short, num2long, 0,
      |  {                                          }
  416 |  date2char, 0,      0,  0,   date2odate
      |  {
  417 | };
      | }
In file included from yylex.c:23:
yylex.ci:2:1: warning: missing braces around initializer [-Wmissing-braces]
    2 | {
      | ^
yylex.ci:48:1: warning: missing braces around initializer [-Wmissing-braces]
   48 | {
      | ^
yylex.ci:54:1: warning: missing braces around initializer [-Wmissing-braces]
   54 | {
      | ^
   55 |  en_cmpop_eq, "=",
      |  {               }
   56 |  en_cmpop_eq, "==",
      |  {                }
   57 |  en_cmpop_ne, "<>",
      |  {                }
   58 |  en_cmpop_ne, "!=",
      |  {                }
   59 |  en_cmpop_gt, ">",
      |  {               }
   60 |  en_cmpop_ge, ">=",
      |  {                }
   61 |  en_cmpop_lt, "<",
      |  {               }
   62 |  en_cmpop_le, "<="
      |  {
   63 | };
      | }
yylex.c: In function 'getkeywdidxbyname':
yylex.c:53:6: warning: implicit declaration of function 'upper_strneq' [-Wimplicit-function-declaration]
   53 |   if(upper_strneq(name, keywd_tab[i].name, 12))
      |      ^~~~~~~~~~~~
In file included from nntp.c:23:
nntp.ci:8:16: warning: missing braces around initializer [-Wmissing-braces]
    8 | } nntp_msg[] = {
      |                ^
nntp.c: In function 'nntp_connect':
nntp.c:92:29: warning: implicit declaration of function 'inet_addr' [-Wimplicit-function-declaration]
   92 |   srvaddr.sin_addr.s_addr = inet_addr(server);
      |                             ^~~~~~~~~
In file included from nntp.c:17:
./nnconfig.h:72:28: warning: implicit declaration of function 'close'; did you mean 'pclose'? [-Wimplicit-function-declaration]
   72 | #  define SOCK_CLOSE(sd)   close(sd)
      |                            ^~~~~
nntp.c:122:3: note: in expansion of macro 'SOCK_CLOSE'
  122 |   SOCK_CLOSE( sock );
      |   ^~~~~~~~~~
nntp.c:71:13: warning: unused variable 'err' [-Wunused-variable]
   71 |  int  sock, err;
      |             ^~~
nntp.c: In function 'nntp_next':
nntp.c:363:6: warning: unused variable 'code' [-Wunused-variable]
  363 |  int code;
      |      ^~~~
nntp.c: In function 'nntp_last':
nntp.c:399:6: warning: unused variable 'size' [-Wunused-variable]
  399 |  int size;
      |      ^~~~
nntp.c:398:8: warning: unused variable 'body' [-Wunused-variable]
  398 |  char* body;
      |        ^~~~
nntp.c:397:12: warning: unused variable 'sock' [-Wunused-variable]
  397 |  int code, sock;
      |            ^~~~
nntp.c:397:6: warning: unused variable 'code' [-Wunused-variable]
  397 |  int code, sock;
      |      ^~~~
nntp.c: In function 'nntp_xhdr':
nntp.c:454:9: warning: implicit declaration of function 'upper_strneq' [-Wimplicit-function-declaration]
  454 |  flag = upper_strneq(xhdr_data->header, "lines", 6);
      |         ^~~~~~~~~~~~
nntp.c: In function 'nntp_start_post':
nntp.c:709:7: warning: unused variable 'i' [-Wunused-variable]
  709 |  int  i;
      |       ^
In file included from nntp.c:17:
nntp.c: In function 'nntp_close':
./nnconfig.h:75:41: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result]
   75 | #  define SOCK_FGETS(buf, size, stream) fgets(buf, size, stream)
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
nntp.c:203:2: note: in expansion of macro 'SOCK_FGETS'
  203 |  SOCK_FGETS(msgbuf, sizeof(msgbuf), pcndes->sin );
      |  ^~~~~~~~~~
yystmt.c: In function 'yyfetch':
yystmt.c:208:5: warning: implicit declaration of function 'nnsql_getrange'; did you mean 'nnsql_getdate'? [-Wimplicit-function-declaration]
  208 |     nnsql_getrange(yystmt, &(yystmt->artnum_min), &(yystmt->artnum_max));
      |     ^~~~~~~~~~~~~~
      |     nnsql_getdate
yystmt.c: In function 'nnsql_fetch':
yystmt.c:316:9: warning: implicit declaration of function 'nnsql_srchtree_evl' [-Wimplicit-function-declaration]
  316 |     r = nnsql_srchtree_evl(hstmt);
      |         ^~~~~~~~~~~~~~~~~~
yystmt.c: In function 'yyunbindpar':
yystmt.c:392:7: warning: unused variable 'i' [-Wunused-variable]
  392 |  int  i;
      |       ^
yystmt.c: In function 'access_mode_chk':
yystmt.c:518:8: warning: implicit declaration of function 'nnsql_strlike' [-Wimplicit-function-declaration]
  518 |    if( nnsql_strlike( pstmt->table, "%.test", 0, 0) )
      |        ^~~~~~~~~~~~~
yystmt.c:542:28: warning: implicit declaration of function 'nntp_postok'; did you mean 'nntp_last'? [-Wimplicit-function-declaration]
  542 |  if( ! pstmt->errcode && ! nntp_postok( pstmt->hcndes ) )
      |                            ^~~~~~~~~~~
      |                            nntp_last
yystmt.c: In function 'nnsql_prepare':
yystmt.c:585:2: warning: implicit declaration of function 'nnsql_yyinit' [-Wimplicit-function-declaration]
  585 |  nnsql_yyinit(&yyenv, pstmt);
      |  ^~~~~~~~~~~~
yystmt.c:587:6: warning: implicit declaration of function 'nnsql_yyparse'; did you mean 'nnsql_prepare'? [-Wimplicit-function-declaration]
  587 |  if( nnsql_yyparse(&yyenv)
      |      ^~~~~~~~~~~~~
      |      nnsql_prepare
yystmt.c:558:7: warning: unused variable 'r' [-Wunused-variable]
  558 |  int  r;
      |       ^
yystmt.c: In function 'do_srch_delete':
yystmt.c:750:9: warning: implicit declaration of function 'sleep' [-Wimplicit-function-declaration]
  750 |         sleep(1 + rcnt);
      |         ^~~~~
yystmt.c:716:10: warning: unused variable 'i' [-Wunused-variable]
  716 |  int  r, i, rcnt;
      |          ^
yystmt.c: In function 'nnsql_execute':
yystmt.c:817:8: warning: implicit declaration of function 'nnsql_srchtree_tchk' [-Wimplicit-function-declaration]
  817 |    if( nnsql_srchtree_tchk(hstmt)
      |        ^~~~~~~~~~~~~~~~~~~
At top level:
yystmt.c:18:13: warning: 'sccsid' defined but not used [-Wunused-variable]
   18 | static char sccsid[]
      |             ^~~~~~
yyparse.c: In function 'nnsql_yyparse':
yyparse.y:38:26: warning: implicit declaration of function 'nnsql_yylex'; did you mean 'nnsql_yyparse'? [-Wimplicit-function-declaration]
   38 | # define yylex(pyylval)  nnsql_yylex(pyylval, pyyenv)
      |                          ^~~~~~~~~~~
yyparse.c:1465:16: note: in expansion of macro 'yylex'
 1465 |       yychar = yylex (&yylval);
      |                ^~~~~
yyparse.y:374:10: warning: unused variable 'p' [-Wunused-variable]
  374 |   void*  p;
      |          ^
yyparse.y: In function 'unpack_col_name':
yyparse.y:824:7: warning: unused variable 'c' [-Wunused-variable]
  824 |  char c;
      |       ^
At top level:
yyparse.y:17:13: warning: 'sccsid' defined but not used [-Wunused-variable]
   17 | static char sccsid[]
      |             ^~~~~~
SQLSetParam.c:28:9: warning: type of 'SQLBindParameter' does not match original declaration [-Wlto-type-mismatch]
   28 |  return SQLBindParameter(hstmt,
      |         ^
SQLBindParameter.c:18:17: note: return value type mismatch
   18 | RETCODE SQL_API SQLBindParameter(
      |                 ^
SQLBindParameter.c:18:17: note: type 'RETCODE' should match type 'int'
SQLBindParameter.c:18:17: note: 'SQLBindParameter' was previously declared here
SQLBindParameter.c:18:17: note: code may be misoptimized unless '-fno-strict-aliasing' is used
@FaramosCZ
Copy link

FaramosCZ commented Apr 25, 2024

Hi @kloczek
I've tried to re-build the current version of unixODBC in Fedora without the -fno-strict-aliasing which is currently used in the package SPECfile:
https://src.fedoraproject.org/rpms/unixODBC/blob/da1390eab103fa2cb911a029f2bc0ccc915bc869/f/unixODBC.spec#_50
and I haven't encountered any error or any mention of '-fno-strict-aliasing' in the build.log

I tried the same with 2.3.11 release.
I've got an unrelated error when building against Rawhide, but on the F39, both variants (with and without -fno-strict-aliasing) built fine.

So it seems #138 wasn't the commit that solved the issue.

I don't know which version did you have when you encountered the issue, but it seems fixed now.
I'm going to remove the workaround from the Fedora Specfile.

If you agree @kloczek, I think this ticket can be closed.

@lurcher
Copy link
Owner

lurcher commented Apr 25, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants