From WikiChip
Editing c/c11
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.
Latest revision | Your text | ||
Line 75: | Line 75: | ||
=== Reentrant functions === | === Reentrant functions === | ||
− | The functions ''strtok_s'', ''wcstok_s'', ''bsearch_s'', and ''qsort_s'', were added | + | The functions ''strtok_s'', ''wcstok_s'', ''bsearch_s'', and ''qsort_s'', were added which keep track of their state via an argument that is passed instead of a static buffer which would prevent them from being reentrant. |
=== %n format specifier === | === %n format specifier === | ||
− | In various format printing functions, all %specifiers with the exception of %n are used for output purpose. On the other hand, the %n specifier is user for input. The ''_s'' version of the functions was added | + | In various format printing functions, all %specifiers with the exception of %n are used for output purpose. On the other hand, the %n specifier is user for input. The ''_s'' version of the functions was added which gets rid of the %n specifier entirely. |
=== memset_s === | === memset_s === | ||
− | The memset_s function is a special version of memset | + | The memset_s function is a special version of memset which must execute even if the compiler's optimizer thinks superfluous. The best case for this is when a function attempts to zero-out some confidential information such as a password right before returning thus making the optimizer thinks the memset is not doing anything. |
== Analyzability annex (Annex L) == | == Analyzability annex (Annex L) == |