You are viewing an old version of this page. View the current version.
        
        
            Compare with Current
                        View Page History
        
        
                            « Previous
            
            
                                     Version 7
                            
                            Next »
            
        
     
            
                                            
        
                           
        
	- Do not use identifiers that are already declared
	
		- For example, don't name a variable errno
 
- Do not pass functions invalid values
- For floating point exception functions, only pass 0or bitwise OR of floating point macros
- Do not modify the string returned by setlocale()
- Do not call setjmp()in stupid places (eg. header files)
- Do not call longjmp()before callingsetjmp()
- Do not call va_start()with a parameter declared with the register storage class, of array type, or a type that isn't compatible with the type after default argument promotions
- Do not try to get the address constant of a bit-field
	
		- For example, do not: &(t.member-designator)
 
- When functions fail, data structures often have indeterminate contents
	
		- eg. wcsxfrm(),wcsftime()
 
- Do not mismatch multibyte conversion states with character sequences in another state