1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
/****************************************************
* _odbcinst_GetEntries
*
**************************************************
* This code was created by Peter Harvey @ CodeByDesign.
* Released under LGPL 28.JAN.99
*
* Contributions from...
* -----------------------------------------------
* Peter Harvey - pharvey@codebydesign.com
**************************************************/
#include <odbcinstext.h>
int _odbcinst_GetEntries( HINI hIni,
LPCSTR pszSection,
LPSTR pRetBuffer,
int nRetBuffer,
int *pnBufPos
)
{
int nStrToCopy;
char szPropertyName[INI_MAX_PROPERTY_NAME+1];
/* COLLECT ALL ENTRIES FOR THE GIVEN SECTION */
iniObjectSeek( hIni, (char *)pszSection );
iniPropertyFirst( hIni );
while ( iniPropertyEOL( hIni ) != TRUE )
{
iniProperty( hIni, szPropertyName );
nStrToCopy = strlen( szPropertyName ) + 1; /* factor NULL terminator for string */
if ( (*pnBufPos) + nStrToCopy + 1 > nRetBuffer ) /* factor NULL terminator for buffer */
nStrToCopy = nRetBuffer - (*pnBufPos) - 2;
strncpy( &(pRetBuffer[(*pnBufPos)]), szPropertyName, nStrToCopy );
(*pnBufPos) += nStrToCopy;
iniPropertyNext( hIni );
}
return (*pnBufPos);
}
|