Re: localtime deprecated?
"kanze" <kanze@gabi-soft.fr> skrev i meddelandet
news:1149597722.585255.30990@i39g2000cwa.googlegroups.com...
Bo Persson wrote:
<lists@givemefish.com> skrev i meddelandet
news:1149149250.643455.166300@y43g2000cwc.googlegroups.com...
while compiling an existing project in the new MSVC 2005
compiler, I received the warning that:
: warning C4996: 'localtime' was declared deprecated
C:\Program Files\Microsoft Visual Studio
8\VC\include\time.inl(114) : see declaration of 'localtime'
Message: 'This function or variable may be unsafe.
Consider
using localtime_s instead. To disable deprecation, use
_CRT_SECURE_NO_DEPRECATE. See online help for details.'
I wasn't aware that localtime was declared deprecated. Is
this true?
No. There is a proposal to the C standards committee though.
Written
by Guess Who.
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1172.pdf
By who?
By the compiler writer, sharing their experience on internal security
projects.
A priori, by the ISO C committee, according to what I
can see. (As far as I know, Microsoft is not active in WG14.
Although I could be wrong, since I'm only indirectly active in
it myself. And don't forget that between the start of writing,
and the moment the document becomes official, it can easily take
five years.)
It almost did.
I was thinking about the original proposal for the new function
signatures, originating from Microsoft (2003).
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n997.pdf
Note that there is a problem with localtime in a multithreaded
environment, and that Posix has also proposed a replacement,
required on Posix conformant platforms which support threading.
Sure. My comment were general on deprecating functions in the C
library. Hasn't happened yet, but might happen.
MSVC 2005 marked these functions 'was declared deprecated' rather that
the intended 'is considered insecure', because it was less work doing
so. Someone thought that wasn't a big deal. :-)
Bo Persson
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]