In article <548.nlhp3 at oracle.nl> bengsig at oracle.nl (Bjorn Engsig) writes: >|#define StrEq( a, b ) (*(a) == *(b) && strcmp( a, b ) == 0) /* UNSAFE */ >Is it unsafe because of side effects of evaluating a and b twice, ... Yes, that's what the comment means. In the file I extracted this from there was an explanation..