|
2321 | 2321 | <minsize type="argvalue" arg="3"/> |
2322 | 2322 | </arg> |
2323 | 2323 | <arg nr="3"> |
2324 | | - <not-uninit/> |
2325 | 2324 | <not-bool/> |
2326 | 2325 | <valid>0:</valid> |
| 2326 | + <not-uninit/> |
2327 | 2327 | </arg> |
2328 | 2328 | </function> |
2329 | 2329 | <!-- wchar_t * wmemcpy(wchar_t *ct, const wchar_t *cs, size_t n);--> |
|
2340 | 2340 | <minsize type="argvalue" arg="3"/> |
2341 | 2341 | </arg> |
2342 | 2342 | <arg nr="3"> |
2343 | | - <not-uninit/> |
2344 | 2343 | <not-bool/> |
2345 | 2344 | <valid>0:</valid> |
| 2345 | + <not-uninit/> |
2346 | 2346 | </arg> |
2347 | 2347 | </function> |
2348 | 2348 | <!-- void * memmove(void *ct, const void *cs, size_t n); --> |
|
2359 | 2359 | <minsize type="argvalue" arg="3"/> |
2360 | 2360 | </arg> |
2361 | 2361 | <arg nr="3"> |
2362 | | - <not-uninit/> |
2363 | 2362 | <not-bool/> |
2364 | 2363 | <valid>0:</valid> |
| 2364 | + <not-uninit/> |
2365 | 2365 | </arg> |
2366 | 2366 | </function> |
2367 | 2367 | <!-- wchar_t * wmemmove(wchar_t *ct, const wchar_t *cs, size_t n); --> |
|
2378 | 2378 | <minsize type="argvalue" arg="3"/> |
2379 | 2379 | </arg> |
2380 | 2380 | <arg nr="3"> |
2381 | | - <not-uninit/> |
2382 | 2381 | <not-bool/> |
2383 | 2382 | <valid>0:</valid> |
| 2383 | + <not-uninit/> |
2384 | 2384 | </arg> |
2385 | 2385 | </function> |
2386 | 2386 | <!-- void *memset(void *s, int c, size_t n); --> |
|
2395 | 2395 | <not-uninit/> |
2396 | 2396 | </arg> |
2397 | 2397 | <arg nr="3"> |
2398 | | - <not-uninit/> |
2399 | 2398 | <not-bool/> |
2400 | 2399 | <valid>0:</valid> |
| 2400 | + <not-uninit/> |
2401 | 2401 | </arg> |
2402 | 2402 | </function> |
2403 | 2403 | <!-- wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n); --> |
|
2412 | 2412 | <not-uninit/> |
2413 | 2413 | </arg> |
2414 | 2414 | <arg nr="3"> |
2415 | | - <not-uninit/> |
2416 | 2415 | <not-bool/> |
2417 | 2416 | <valid>0:</valid> |
| 2417 | + <not-uninit/> |
2418 | 2418 | </arg> |
2419 | 2419 | </function> |
2420 | 2420 | <!-- time_t mktime(struct tm *tp); --> |
|
2754 | 2754 | <leak-ignore/> |
2755 | 2755 | <formatstr scan="true"/> |
2756 | 2756 | <arg nr="1"> |
| 2757 | + <not-uninit/> |
2757 | 2758 | <formatstr/> |
2758 | 2759 | <not-null/> |
2759 | | - <not-uninit/> |
2760 | 2760 | </arg> |
2761 | 2761 | </function> |
2762 | 2762 | <!-- int vsscanf(const char *s, const char *format, va_list arg); --> |
2763 | 2763 | <function name="vsscanf,std::vsscanf"> |
2764 | 2764 | <noreturn>false</noreturn> |
2765 | 2765 | <leak-ignore/> |
| 2766 | + <formatstr scan="true"/> |
2766 | 2767 | <arg nr="1"> |
2767 | | - <not-null/> |
2768 | 2768 | <not-uninit/> |
| 2769 | + <not-null/> |
2769 | 2770 | </arg> |
2770 | | - <formatstr scan="true"/> |
2771 | 2771 | <arg nr="2"> |
| 2772 | + <not-uninit/> |
2772 | 2773 | <formatstr/> |
2773 | 2774 | <not-null/> |
2774 | | - <not-uninit/> |
2775 | 2775 | </arg> |
2776 | 2776 | <arg nr="3"/> |
2777 | 2777 | </function> |
2778 | 2778 | <!-- int vswscanf(const wchar_t *s, const wchar_t *format, va_list arg); --> |
2779 | 2779 | <function name="vswscanf,std::vswscanf"> |
2780 | 2780 | <noreturn>false</noreturn> |
2781 | 2781 | <leak-ignore/> |
| 2782 | + <formatstr scan="true"/> |
2782 | 2783 | <arg nr="1"> |
2783 | | - <not-null/> |
2784 | 2784 | <not-uninit/> |
| 2785 | + <not-null/> |
2785 | 2786 | </arg> |
2786 | | - <formatstr scan="true"/> |
2787 | 2787 | <arg nr="2"> |
| 2788 | + <not-uninit/> |
2788 | 2789 | <formatstr/> |
2789 | 2790 | <not-null/> |
2790 | | - <not-uninit/> |
2791 | 2791 | </arg> |
2792 | 2792 | <arg nr="3"/> |
2793 | 2793 | </function> |
|
2797 | 2797 | <leak-ignore/> |
2798 | 2798 | <formatstr scan="true"/> |
2799 | 2799 | <arg nr="1"> |
| 2800 | + <not-uninit/> |
2800 | 2801 | <formatstr/> |
2801 | 2802 | <not-null/> |
2802 | | - <not-uninit/> |
2803 | 2803 | </arg> |
2804 | 2804 | <arg nr="2"/> |
2805 | 2805 | </function> |
|
2850 | 2850 | <leak-ignore/> |
2851 | 2851 | <arg nr="1"/> |
2852 | 2852 | </function> |
| 2853 | + <memory> |
| 2854 | + <dealloc>free</dealloc> |
| 2855 | + <alloc init="false">malloc</alloc> |
| 2856 | + <alloc init="true">calloc</alloc> |
| 2857 | + </memory> |
| 2858 | + <resource> |
| 2859 | + <dealloc>fclose</dealloc> |
| 2860 | + <alloc init="true">fopen</alloc> |
| 2861 | + <alloc init="true">tmpfile</alloc> |
| 2862 | + </resource> |
2853 | 2863 | <!-- char * strcat(char *deststr, const char *srcstr); --> |
2854 | 2864 | <function name="strcat,std::strcat"> |
2855 | 2865 | <noreturn>false</noreturn> |
|
3382 | 3392 | </function> |
3383 | 3393 | <!-- char *strtok(char *s, const char *ct); --> |
3384 | 3394 | <function name="strtok"> |
3385 | | - <pure/> |
| 3395 | + <!-- strtok may modify the first argument, so using the return value is not mandatory --> |
3386 | 3396 | <noreturn>false</noreturn> |
| 3397 | + <pure/> |
3387 | 3398 | <leak-ignore/> |
3388 | 3399 | <arg nr="1"> |
3389 | 3400 | <not-uninit/> |
|
3580 | 3591 | <function name="sprintf"> |
3581 | 3592 | <noreturn>false</noreturn> |
3582 | 3593 | <leak-ignore/> |
| 3594 | + <formatstr/> |
3583 | 3595 | <arg nr="1"> |
3584 | 3596 | <minsize type="strlen" arg="2"/> |
3585 | 3597 | </arg> |
3586 | | - <formatstr/> |
3587 | 3598 | <arg nr="2"> |
3588 | | - <formatstr/> |
3589 | 3599 | <not-null/> |
| 3600 | + <formatstr/> |
3590 | 3601 | </arg> |
3591 | 3602 | </function> |
3592 | 3603 | <!-- int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...); --> |
|
3772 | 3783 | </function> |
3773 | 3784 | <!-- struct tmx *zonetime(const time_t *tp, int zone); --> |
3774 | 3785 | <function name="zonetime"> |
3775 | | - <use-retval/> |
3776 | 3786 | <noreturn>false</noreturn> |
3777 | 3787 | <leak-ignore/> |
| 3788 | + <use-retval/> |
3778 | 3789 | <arg nr="1"> |
3779 | | - <not-null/> |
3780 | 3790 | <not-uninit/> |
| 3791 | + <not-null/> |
3781 | 3792 | </arg> |
3782 | 3793 | <arg nr="2"> |
3783 | 3794 | <not-uninit/> |
3784 | 3795 | </arg> |
3785 | 3796 | </function> |
3786 | | - <!--Not part of standard, but widely supported by runtime libraries--> |
3787 | | - <function name="itoa"> |
3788 | | - <noreturn>false</noreturn> |
3789 | | - <leak-ignore/> |
3790 | | - <arg nr="1"> |
3791 | | - <not-uninit/> |
3792 | | - </arg> |
3793 | | - <arg nr="2"> |
3794 | | - <not-null/> |
3795 | | - </arg> |
3796 | | - <arg nr="3"/> |
3797 | | - </function> |
3798 | | - <memory> |
3799 | | - <alloc>malloc</alloc> |
3800 | | - <alloc init="true">calloc</alloc> |
3801 | | - <dealloc>free</dealloc> |
3802 | | - </memory> |
3803 | | - <resource> |
3804 | | - <alloc init="true">fopen</alloc> |
3805 | | - <alloc init="true">tmpfile</alloc> |
3806 | | - <dealloc>fclose</dealloc> |
3807 | | - </resource> |
3808 | 3797 | <container id="stdContainer" endPattern="> !!::"> |
3809 | 3798 | <type templateParameter="0"/> |
3810 | 3799 | <size> |
|
3878 | 3867 | <container id="stdBasicString" startPattern="std :: basic_string <" inherits="stdAllString"> |
3879 | 3868 | <type templateParameter="0"/> |
3880 | 3869 | </container> |
3881 | | - <container id="stdString" startPattern="std :: string|wstring|u16string|u32string" inherits="stdAllString"/> |
| 3870 | + <container id="stdString" startPattern="std :: string|wstring|u16string|u32string" endPattern="" inherits="stdAllString"> |
| 3871 | + </container> |
3882 | 3872 | <podtype name="int8_t" sign="s" size="1"/> |
3883 | 3873 | <podtype name="int16_t" sign="s" size="2"/> |
3884 | 3874 | <podtype name="int32_t" sign="s" size="4"/> |
|
3929 | 3919 | <podtype name="mbstate_t"/> |
3930 | 3920 | <podtype name="wint_t"/> |
3931 | 3921 | <podtype name="jmp_buf"/> |
| 3922 | + <!--Not part of standard, but widely supported by runtime libraries--> |
| 3923 | + <function name="itoa"> |
| 3924 | + <noreturn>false</noreturn> |
| 3925 | + <leak-ignore/> |
| 3926 | + <arg nr="1"> |
| 3927 | + <not-uninit/> |
| 3928 | + </arg> |
| 3929 | + <arg nr="2"> |
| 3930 | + <not-null/> |
| 3931 | + </arg> |
| 3932 | + <arg nr="3"/> |
| 3933 | + </function> |
3932 | 3934 | </def> |
0 commit comments