Changeset 56919 in vbox
- Timestamp:
- Jul 11, 2015 7:00:30 PM (9 years ago)
- Location:
- trunk/include/iprt
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/assert.h
r56377 r56919 99 99 * @param ... Arguments to that string. 100 100 */ 101 RTDECL(void) RTAssertMsg2(const char *pszFormat, ...) ;101 RTDECL(void) RTAssertMsg2(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 102 102 /** 103 103 * Weak version of RTAssertMsg2 that forwards to RTAssertMsg2WeakV. … … 107 107 * @copydoc RTAssertMsg2 108 108 */ 109 RTDECL(void) RTAssertMsg2Weak(const char *pszFormat, ...) ;109 RTDECL(void) RTAssertMsg2Weak(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 110 110 111 111 /** … … 115 115 * @param va Arguments to that string. 116 116 */ 117 RTDECL(void) RTAssertMsg2V(const char *pszFormat, va_list va) ;117 RTDECL(void) RTAssertMsg2V(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(1, 0); 118 118 /** 119 119 * Weak version of RTAssertMsg2V that can be overridden locally in a module to … … 122 122 * @copydoc RTAssertMsg2V 123 123 */ 124 RTDECL(void) RTAssertMsg2WeakV(const char *pszFormat, va_list va) ;124 RTDECL(void) RTAssertMsg2WeakV(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(1, 0); 125 125 126 126 /** … … 131 131 * @param ... Arguments to that string. 132 132 */ 133 RTDECL(void) RTAssertMsg2Add(const char *pszFormat, ...) ;133 RTDECL(void) RTAssertMsg2Add(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 134 134 /** 135 135 * Weak version of RTAssertMsg2Add that forwards to RTAssertMsg2AddWeakV. … … 139 139 * @copydoc RTAssertMsg2Add 140 140 */ 141 RTDECL(void) RTAssertMsg2AddWeak(const char *pszFormat, ...) ;141 RTDECL(void) RTAssertMsg2AddWeak(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 142 142 143 143 /** … … 148 148 * @param va Arguments to that string. 149 149 */ 150 RTDECL(void) RTAssertMsg2AddV(const char *pszFormat, va_list va) ;150 RTDECL(void) RTAssertMsg2AddV(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(1, 0); 151 151 /** 152 152 * Weak version of RTAssertMsg2AddV that can be overridden locally in a module … … 155 155 * @copydoc RTAssertMsg2AddV 156 156 */ 157 RTDECL(void) RTAssertMsg2AddWeakV(const char *pszFormat, va_list va) ;157 RTDECL(void) RTAssertMsg2AddWeakV(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(1, 0); 158 158 159 159 #ifdef IN_RING0 -
trunk/include/iprt/cdefs.h
r56291 r56919 914 914 # define RT_THROW(type) 915 915 #endif 916 917 /** @def RT_IPRT_FORMAT_ATTR 918 * Identifies a function taking an IPRT format string. 919 * @param a_iFmt The index (1-based) of the format string argument. 920 * @param a_iArgs The index (1-based) of the first format argument, use 0 for 921 * va_list. 922 */ 923 #if defined(__GNUC__) && defined(WITH_IPRT_FORMAT_ATTRIBUTE) 924 # define RT_IPRT_FORMAT_ATTR(a_iFmt, a_iArgs) __attribute__((__iprt_format__(a_iFmt, a_iArgs))) 925 #else 926 # define RT_IPRT_FORMAT_ATTR(a_iFmt, a_iArgs) 927 #endif 928 916 929 917 930 /** @def RT_GCC_SUPPORTS_VISIBILITY_HIDDEN -
trunk/include/iprt/log.h
r56380 r56919 185 185 * @param ... Optional arguments as specified in the format string. 186 186 */ 187 typedef DECLCALLBACK(void) FNRTLOGGER(const char *pszFormat, ...) ;187 typedef DECLCALLBACK(void) FNRTLOGGER(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 188 188 /** Pointer to logger function. */ 189 189 typedef FNRTLOGGER *PFNRTLOGGER; … … 214 214 * @param ... Optional arguments specified in the format string. 215 215 */ 216 typedef DECLCALLBACK(void) FNRTLOGPHASEMSG(PRTLOGGER pLogger, const char *pszFormat, ...) ;216 typedef DECLCALLBACK(void) FNRTLOGPHASEMSG(PRTLOGGER pLogger, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(2, 3); 217 217 /** Pointer to header/footer message callback function. */ 218 218 typedef FNRTLOGPHASEMSG *PFNRTLOGPHASEMSG; … … 458 458 459 459 460 RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, const char *pszFormat, ...); 460 RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, 461 const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(4, 5); 461 462 462 463 … … 1703 1704 * @remark This is a worker function for LogRelIt. 1704 1705 */ 1705 RTDECL(void) RTLogRelLogger(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, const char *pszFormat, ...); 1706 RTDECL(void) RTLogRelLogger(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, 1707 const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(4, 5); 1706 1708 1707 1709 /** … … 1719 1721 * @param args Format arguments. 1720 1722 */ 1721 RTDECL(void) RTLogRelLoggerV(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, const char *pszFormat, va_list args); 1723 RTDECL(void) RTLogRelLoggerV(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, 1724 const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(4, 0); 1722 1725 1723 1726 /** … … 1729 1732 * @remark The API doesn't support formatting of floating point numbers at the moment. 1730 1733 */ 1731 RTDECL(void) RTLogRelPrintf(const char *pszFormat, ...) ;1734 RTDECL(void) RTLogRelPrintf(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 1732 1735 1733 1736 /** … … 1739 1742 * @remark The API doesn't support formatting of floating point numbers at the moment. 1740 1743 */ 1741 RTDECL(void) RTLogRelPrintfV(const char *pszFormat, va_list args) ;1744 RTDECL(void) RTLogRelPrintfV(const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(1, 0); 1742 1745 1743 1746 /** … … 1953 1956 RTDECL(int) RTLogCreate(PRTLOGGER *ppLogger, uint32_t fFlags, const char *pszGroupSettings, 1954 1957 const char *pszEnvVarBase, unsigned cGroups, const char * const * papszGroups, 1955 uint32_t fDestFlags, const char *pszFilenameFmt, ...) ;1958 uint32_t fDestFlags, const char *pszFilenameFmt, ...) RT_IPRT_FORMAT_ATTR(8, 9); 1956 1959 1957 1960 /** … … 1990 1993 uint32_t fDestFlags, PFNRTLOGPHASE pfnPhase, uint32_t cHistory, 1991 1994 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, 1992 char *pszErrorMsg, size_t cchErrorMsg, const char *pszFilenameFmt, ...) ;1995 char *pszErrorMsg, size_t cchErrorMsg, const char *pszFilenameFmt, ...) RT_IPRT_FORMAT_ATTR(14, 15); 1993 1996 1994 1997 /** … … 2029 2032 uint32_t fDestFlags, PFNRTLOGPHASE pfnPhase, uint32_t cHistory, 2030 2033 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, 2031 char *pszErrorMsg, size_t cchErrorMsg, const char *pszFilenameFmt, va_list args); 2034 char *pszErrorMsg, size_t cchErrorMsg, 2035 const char *pszFilenameFmt, va_list args) RT_IPRT_FORMAT_ATTR(14, 0); 2032 2036 2033 2037 /** … … 2261 2265 * @param ... Format arguments. 2262 2266 */ 2263 RTDECL(void) RTLogLogger(PRTLOGGER pLogger, void *pvCallerRet, const char *pszFormat, ...) ;2267 RTDECL(void) RTLogLogger(PRTLOGGER pLogger, void *pvCallerRet, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(3, 4); 2264 2268 2265 2269 /** … … 2270 2274 * @param args Format arguments. 2271 2275 */ 2272 RTDECL(void) RTLogLoggerV(PRTLOGGER pLogger, const char *pszFormat, va_list args) ;2276 RTDECL(void) RTLogLoggerV(PRTLOGGER pLogger, const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(3, 0); 2273 2277 2274 2278 /** … … 2287 2291 * @remark This is a worker function of LogIt. 2288 2292 */ 2289 RTDECL(void) RTLogLoggerEx(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, const char *pszFormat, ...); 2293 RTDECL(void) RTLogLoggerEx(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, 2294 const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(4, 5); 2290 2295 2291 2296 /** … … 2303 2308 * @param args Format arguments. 2304 2309 */ 2305 RTDECL(void) RTLogLoggerExV(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, const char *pszFormat, va_list args); 2310 RTDECL(void) RTLogLoggerExV(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup, 2311 const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(4, 0); 2306 2312 2307 2313 /** … … 2313 2319 * @remark The API doesn't support formatting of floating point numbers at the moment. 2314 2320 */ 2315 RTDECL(void) RTLogPrintf(const char *pszFormat, ...) ;2321 RTDECL(void) RTLogPrintf(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 2316 2322 2317 2323 /** … … 2323 2329 * @remark The API doesn't support formatting of floating point numbers at the moment. 2324 2330 */ 2325 RTDECL(void) RTLogPrintfV(const char *pszFormat, va_list args) ;2331 RTDECL(void) RTLogPrintfV(const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(1, 0); 2326 2332 2327 2333 /** … … 2333 2339 * @param va Format arguments. 2334 2340 */ 2335 RTDECL(void) RTLogDumpPrintfV(void *pvUser, const char *pszFormat, va_list va) ;2341 RTDECL(void) RTLogDumpPrintfV(void *pvUser, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(2, 0); 2336 2342 2337 2343 … … 2362 2368 * @param args Argument list. 2363 2369 */ 2364 RTDECL(size_t) RTLogFormatV(PFNRTSTROUTPUT pfnOutput, void *pvArg, const char *pszFormat, va_list args) ;2370 RTDECL(size_t) RTLogFormatV(PFNRTSTROUTPUT pfnOutput, void *pvArg, const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(3, 0); 2365 2371 2366 2372 /** … … 2379 2385 * @param ... Optional arguments specified in the format string. 2380 2386 */ 2381 RTDECL(size_t) RTLogComPrintf(const char *pszFormat, ...) ;2387 RTDECL(size_t) RTLogComPrintf(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 2382 2388 2383 2389 /** … … 2388 2394 * @param args Optional arguments specified in the format string. 2389 2395 */ 2390 RTDECL(size_t) RTLogComPrintfV(const char *pszFormat, va_list args) ;2396 RTDECL(size_t) RTLogComPrintfV(const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(1, 0); 2391 2397 2392 2398 … … 2498 2504 * @param ... Optional arguments specified in the format string. 2499 2505 */ 2500 RTDECL(size_t) RTLogBackdoorPrintf(const char *pszFormat, ...) ;2506 RTDECL(size_t) RTLogBackdoorPrintf(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 2501 2507 2502 2508 /** … … 2507 2513 * @param args Optional arguments specified in the format string. 2508 2514 */ 2509 RTDECL(size_t) RTLogBackdoorPrintfV(const char *pszFormat, va_list args) ;2515 RTDECL(size_t) RTLogBackdoorPrintfV(const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(1, 0); 2510 2516 2511 2517 #endif /* VBOX */ -
trunk/include/iprt/message.h
r56291 r56919 45 45 * @param ... Format arguments. 46 46 */ 47 RTDECL(int) RTMsgSetProgName(const char *pszFormat, ...) ;47 RTDECL(int) RTMsgSetProgName(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 48 48 49 49 /** … … 59 59 * @param ... Format arguments. 60 60 */ 61 RTDECL(int) RTMsgError(const char *pszFormat, ...) ;61 RTDECL(int) RTMsgError(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 62 62 63 63 /** … … 73 73 * @param va Format arguments. 74 74 */ 75 RTDECL(int) RTMsgErrorV(const char *pszFormat, va_list va) ;75 RTDECL(int) RTMsgErrorV(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(1, 0); 76 76 77 77 /** … … 84 84 * @param ... Format arguments. 85 85 */ 86 RTDECL(RTEXITCODE) RTMsgErrorExit(RTEXITCODE enmExitcode, const char *pszFormat, ...) ;86 RTDECL(RTEXITCODE) RTMsgErrorExit(RTEXITCODE enmExitcode, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(2, 3); 87 87 88 88 /** … … 95 95 * @param va Format arguments. 96 96 */ 97 RTDECL(RTEXITCODE) RTMsgErrorExitV(RTEXITCODE enmExitCode, const char *pszFormat, va_list va) ;97 RTDECL(RTEXITCODE) RTMsgErrorExitV(RTEXITCODE enmExitCode, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(2, 0); 98 98 99 99 /** … … 106 106 * @param ... Format arguments. 107 107 */ 108 RTDECL(int) RTMsgErrorRc(int rc, const char *pszFormat, ...) ;108 RTDECL(int) RTMsgErrorRc(int rc, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(2, 3); 109 109 110 110 /** … … 117 117 * @param va Format arguments. 118 118 */ 119 RTDECL(int) RTMsgErrorRcV(int rc, const char *pszFormat, va_list va) ;119 RTDECL(int) RTMsgErrorRcV(int rc, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(2, 0); 120 120 121 121 /** … … 147 147 * @param ... Format arguments. 148 148 */ 149 RTDECL(int) RTMsgWarning(const char *pszFormat, ...) ;149 RTDECL(int) RTMsgWarning(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 150 150 151 151 /** … … 161 161 * @param va Format arguments. 162 162 */ 163 RTDECL(int) RTMsgWarningV(const char *pszFormat, va_list va) ;163 RTDECL(int) RTMsgWarningV(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(1, 0); 164 164 165 165 /** … … 175 175 * @param ... Format arguments. 176 176 */ 177 RTDECL(int) RTMsgInfo(const char *pszFormat, ...) ;177 RTDECL(int) RTMsgInfo(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 178 178 179 179 /** … … 189 189 * @param va Format arguments. 190 190 */ 191 RTDECL(int) RTMsgInfoV(const char *pszFormat, va_list va) ;191 RTDECL(int) RTMsgInfoV(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(1, 0); 192 192 193 193 /** @} */ -
trunk/include/iprt/stream.h
r56291 r56919 72 72 * @param args Arguments to the format string. 73 73 */ 74 RTR3DECL(int) RTStrmOpenFV(const char *pszMode, PRTSTREAM *ppStream, const char *pszFilenameFmt, va_list args); 74 RTR3DECL(int) RTStrmOpenFV(const char *pszMode, PRTSTREAM *ppStream, const char *pszFilenameFmt, 75 va_list args) RT_IPRT_FORMAT_ATTR(3, 0); 75 76 76 77 /** … … 84 85 * @param ... Arguments to the format string. 85 86 */ 86 RTR3DECL(int) RTStrmOpenF(const char *pszMode, PRTSTREAM *ppStream, const char *pszFilenameFmt, ...) ;87 RTR3DECL(int) RTStrmOpenF(const char *pszMode, PRTSTREAM *ppStream, const char *pszFilenameFmt, ...) RT_IPRT_FORMAT_ATTR(3, 4); 87 88 88 89 /** … … 275 276 * @param ... Arguments specified by pszFormat. 276 277 */ 277 RTR3DECL(int) RTStrmPrintf(PRTSTREAM pStream, const char *pszFormat, ...) ;278 RTR3DECL(int) RTStrmPrintf(PRTSTREAM pStream, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(2, 3); 278 279 279 280 /** … … 285 286 * @param args Arguments specified by pszFormat. 286 287 */ 287 RTR3DECL(int) RTStrmPrintfV(PRTSTREAM pStream, const char *pszFormat, va_list args) ;288 RTR3DECL(int) RTStrmPrintfV(PRTSTREAM pStream, const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(2, 0); 288 289 289 290 /** … … 294 295 * @param va Arguments specified by pszFormat. 295 296 */ 296 RTR3DECL(void) RTStrmDumpPrintfV(void *pvUser, const char *pszFormat, va_list va) ;297 RTR3DECL(void) RTStrmDumpPrintfV(void *pvUser, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(2, 0); 297 298 298 299 /** … … 303 304 * @param ... Arguments specified by pszFormat. 304 305 */ 305 RTR3DECL(int) RTPrintf(const char *pszFormat, ...) ;306 RTR3DECL(int) RTPrintf(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2); 306 307 307 308 /** … … 312 313 * @param args Arguments specified by pszFormat. 313 314 */ 314 RTR3DECL(int) RTPrintfV(const char *pszFormat, va_list args) ;315 RTR3DECL(int) RTPrintfV(const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(1, 0); 315 316 316 317 /** @} */ -
trunk/include/iprt/string.h
r56291 r56919 1727 1727 * @param InArgs Argument list. 1728 1728 */ 1729 RTDECL(size_t) RTStrFormatV(PFNRTSTROUTPUT pfnOutput, void *pvArgOutput, PFNSTRFORMAT pfnFormat, void *pvArgFormat, const char *pszFormat, va_list InArgs); 1729 RTDECL(size_t) RTStrFormatV(PFNRTSTROUTPUT pfnOutput, void *pvArgOutput, PFNSTRFORMAT pfnFormat, void *pvArgFormat, 1730 const char *pszFormat, va_list InArgs) RT_IPRT_FORMAT_ATTR(5, 0); 1730 1731 1731 1732 /** … … 1744 1745 * @param ... Argument list. 1745 1746 */ 1746 RTDECL(size_t) RTStrFormat(PFNRTSTROUTPUT pfnOutput, void *pvArgOutput, PFNSTRFORMAT pfnFormat, void *pvArgFormat, const char *pszFormat, ...); 1747 RTDECL(size_t) RTStrFormat(PFNRTSTROUTPUT pfnOutput, void *pvArgOutput, PFNSTRFORMAT pfnFormat, void *pvArgFormat, 1748 const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(5, 6); 1747 1749 1748 1750 /** … … 1757 1759 * @param fFlags Flags, RTSTR_F_XXX. 1758 1760 */ 1759 RTDECL(int) RTStrFormatNumber(char *psz, uint64_t u64Value, unsigned int uiBase, signed int cchWidth, signed int cchPrecision, unsigned int fFlags); 1761 RTDECL(int) RTStrFormatNumber(char *psz, uint64_t u64Value, unsigned int uiBase, signed int cchWidth, signed int cchPrecision, 1762 unsigned int fFlags); 1760 1763 1761 1764 /** … … 1962 1965 * @param ... The format argument. 1963 1966 */ 1964 RTDECL(size_t) RTStrPrintf(char *pszBuffer, size_t cchBuffer, const char *pszFormat, ...) ;1967 RTDECL(size_t) RTStrPrintf(char *pszBuffer, size_t cchBuffer, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(3, 4); 1965 1968 1966 1969 … … 1977 1980 * @param args The format argument. 1978 1981 */ 1979 RTDECL(size_t) RTStrPrintfExV(PFNSTRFORMAT pfnFormat, void *pvArg, char *pszBuffer, size_t cchBuffer, const char *pszFormat, va_list args); 1982 RTDECL(size_t) RTStrPrintfExV(PFNSTRFORMAT pfnFormat, void *pvArg, char *pszBuffer, size_t cchBuffer, 1983 const char *pszFormat, va_list args) RT_IPRT_FORMAT_ATTR(5, 0); 1980 1984 1981 1985 /** … … 1991 1995 * @param ... The format argument. 1992 1996 */ 1993 RTDECL(size_t) RTStrPrintfEx(PFNSTRFORMAT pfnFormat, void *pvArg, char *pszBuffer, size_t cchBuffer, const char *pszFormat, ...); 1997 RTDECL(size_t) RTStrPrintfEx(PFNSTRFORMAT pfnFormat, void *pvArg, char *pszBuffer, size_t cchBuffer, 1998 const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(5, 6); 1994 1999 1995 2000 … … 2021 2026 * @param pszTag Allocation tag used for statistics and such. 2022 2027 */ 2023 RTDECL(int) RTStrAPrintfVTag(char **ppszBuffer, const char *pszFormat, va_list args, const char *pszTag) ;2028 RTDECL(int) RTStrAPrintfVTag(char **ppszBuffer, const char *pszFormat, va_list args, const char *pszTag) RT_IPRT_FORMAT_ATTR(2, 0); 2024 2029 2025 2030 /** … … 2035 2040 * @param ... The format argument. 2036 2041 */ 2037 DECLINLINE(int) RTStrAPrintf(char **ppszBuffer, const char *pszFormat, ...) 2042 DECLINLINE(int) RTStrAPrintf(char **ppszBuffer, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(2, 3) 2038 2043 { 2039 2044 int cbRet; … … 2058 2063 * @param ... The format argument. 2059 2064 */ 2060 DECLINLINE(int) RTStrAPrintfTag(char **ppszBuffer, const char *pszTag, const char *pszFormat, ...) 2065 DECLINLINE(int) RTStrAPrintfTag(char **ppszBuffer, const char *pszTag, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(3, 4) 2061 2066 { 2062 2067 int cbRet; … … 2087 2092 * @param pszTag Allocation tag used for statistics and such. 2088 2093 */ 2089 RTDECL(char *) RTStrAPrintf2VTag(const char *pszFormat, va_list args, const char *pszTag) ;2094 RTDECL(char *) RTStrAPrintf2VTag(const char *pszFormat, va_list args, const char *pszTag) RT_IPRT_FORMAT_ATTR(1, 0); 2090 2095 2091 2096 /** … … 2097 2102 * @param ... The format argument. 2098 2103 */ 2099 DECLINLINE(char *) RTStrAPrintf2(const char *pszFormat, ...) 2104 DECLINLINE(char *) RTStrAPrintf2(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(1, 2) 2100 2105 { 2101 2106 char *pszRet; … … 2116 2121 * @param ... The format argument. 2117 2122 */ 2118 DECLINLINE(char *) RTStrAPrintf2Tag(const char *pszTag, const char *pszFormat, ...) 2123 DECLINLINE(char *) RTStrAPrintf2Tag(const char *pszTag, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(2, 3) 2119 2124 { 2120 2125 char *pszRet;
Note:
See TracChangeset
for help on using the changeset viewer.

