Naturally, Microsoft thought that the 'n' version of those functions 
weren't secure enough, so they came up with their own non-standard 
functions, ending with _s.  And, just to be even more annoying about it, 
by default, Microsoft elects to throw compiler warnings at you if you 
elect to *not* use the _s functions (even if you're using the 'n' 
functions).  Isn't that nice?  You can disable the warnings, but you have 
to #define something to make it happen.  Someone should have savagely 
raped the asshole who came up with the idea to force compiler warnings for 
something as non-standard as that.  
   
 And, naturally, the call signature for the '_s' version of the functions 
differs from the 'n' version.  
   
 errno_t strcpy_s( char* strDestination, size_t numberOfElements, const 
char* strSource );  
   
 A standard 'safe' version of the string copy function exists, but 
Microsoft felt the need to make one that's different, and to try and force 
everyone to use it.  Had they put a compiler warning advising people to 
use the 'n' version of the functions, I would have respected them as being 
'helpful'.  By trying to annoy everyone into using the '_s' version they 
created, I can only think of them as being assholes.  
  

Reply via email to