Lets say I've got a three module source (File1.c, File2.c and File3.c) and I use #undef at a global level in one of the modules like shown in Example A. Will this redefinition effect the other modules?

Example A:
Code:
/* File2.c */

typedef signed char MYBYTE;

#undef LOBYTE
#undef HIBYTE

#define LOBYTE(w)  ((MYBYTE)(int)(w))
#define HIBYTE(w)  ((MYBYTE)(((int)(w) >> 8) & 0xFF))
Scenerio two. Lets say I do a #ifdef as shown below in case WM_SIZE under WinMain(). Will these redefinitions be confined to just case WM_SIZE?

Code:
case WM_SIZE:
    {
        #ifdef LOBYTE
        #ifdef HIBYTE

        #undef LOBYTE
        #undef HIBYTE
        #define LOBYTE(w)  ((signed char)((signed) w & 0x00FF)
        #define HIBYTE(w)  ((signed char)(((signed) w & 0xFF00) >> 8))

        /* .... */  // rest of code

        #endif
        #endif
    }
    break;
BTW, These are just made up scenerios.