Extended windows.cfg and posix.cfg about missing functions, found by using --check-library on some projects.

This commit is contained in:
orbitcowboy 2015-11-25 11:02:32 +01:00
parent f6b19519cb
commit f84af529af
3 changed files with 160 additions and 0 deletions

View File

@ -533,6 +533,9 @@ The obsolescent function 'usleep' is called. POSIX.1-2001 declares usleep() func
<function name="getcwd">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>

View File

@ -1602,6 +1602,155 @@
<not-null/>
</arg>
</function>
<!-- char *_getcwd(char *buffer, int maxlen); -->
<!-- wchar_t *_wgetcwd(wchar_t *buffer, int maxlen);-->
<function name="_getcwd,_wgetcwd">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- HRESULT SHGetFolderPath(
_In_ HWND hwndOwner,
_In_ int nFolder,
_In_ HANDLE hToken,
_In_ DWORD dwFlags,
_Out_ LPTSTR pszPath);-->
<function name="SHGetFolderPath,SHGetFolderPathA,SHGetFolderPathW">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="5">
<not-null/>
</arg>
</function>
<!-- LONG WINAPI RegQueryValueEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpValueName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPDWORD lpType,
_Out_opt_ LPBYTE lpData,
_Inout_opt_ LPDWORD lpcbData);-->
<function name="RegQueryValueEx,RegQueryValueExA,RegQueryValueExW">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="6"/>
</function>
<!-- LONG WINAPI RegCloseKey(_In_ HKEY hKey );-->
<function name="RegCloseKey">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int stricmp(const char *s1, const char *s2); -->
<!-- int _stricmp(const char *s1, const char *s2); -->
<!-- int wcsicmp(const wchar_t *s1, const wchar_t *s2); -->
<!-- int _wcsicmp(const wchar_t *s1, const wchar_t *s2); -->
<!-- int _mbsicmp(const unsigned char *string1, const unsigned char *string2); -->
<function name="stricmp,_stricmp,wcsicmp,_wcsicmp,_mbsicmp">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
<not-null/>
</arg>
<arg nr="2">
<not-uninit/>
<not-null/>
</arg>
</function>
<!-- DWORD WINAPI GetFileAttributes(_In_ LPCTSTR lpFileName);-->
<function name="GetFileAttributes,GetFileAttributesA,GetFileAttributesW">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- LONG WINAPI RegOpenKeyEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult); -->
<function name="RegOpenKeyEx,RegOpenKeyExA,RegOpenKeyExW">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="5"/>
</function>
<!-- int __cdecl wsprintf(
_Out_ LPTSTR lpOut,
_In_ LPCTSTR lpFmt,
_In_ ...); -->
<function name="wsprintf,wsprintfA,wsprintfW">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
<minsize type="strlen" arg="2"/>
</arg>
<formatstr/>
<arg nr="2">
<formatstr/>
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- LONG WINAPI RegEnumKeyEx(
_In_ HKEY hKey,
_In_ DWORD dwIndex,
_Out_ LPTSTR lpName,
_Inout_ LPDWORD lpcName,
_Reserved_ LPDWORD lpReserved,
_Inout_ LPTSTR lpClass,
_Inout_opt_ LPDWORD lpcClass,
_Out_opt_ PFILETIME lpftLastWriteTime); -->
<function name="RegEnumKeyEx,RegEnumKeyExA,RegEnumKeyExW">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="8"/>
</function>
<!--
HFONT CreateFont(
_In_ int nHeight,

View File

@ -193,6 +193,14 @@ void uninitvar(int fd)
utime(filename, times1);
}
void uninitvar_getcwd(void)
{
char *buf;
size_t size;
// cppcheck-suppress uninitvar
(void)getcwd(buf,size);
}
void uninitvar_types(void)
{