src/SDL.c
changeset 1895 c121d94672cb
parent 1487 dc6b59e925a2
child 1909 8f1ab2f7c722
     1.1 --- a/src/SDL.c	Thu Jul 06 18:01:37 2006 +0000
     1.2 +++ b/src/SDL.c	Mon Jul 10 21:04:37 2006 +0000
     1.3 @@ -35,23 +35,19 @@
     1.4  
     1.5  /* Initialization/Cleanup routines */
     1.6  #if !SDL_JOYSTICK_DISABLED
     1.7 -extern int  SDL_JoystickInit(void);
     1.8 +extern int SDL_JoystickInit(void);
     1.9  extern void SDL_JoystickQuit(void);
    1.10  #endif
    1.11  #if !SDL_CDROM_DISABLED
    1.12 -extern int  SDL_CDROMInit(void);
    1.13 +extern int SDL_CDROMInit(void);
    1.14  extern void SDL_CDROMQuit(void);
    1.15  #endif
    1.16  #if !SDL_TIMERS_DISABLED
    1.17  extern void SDL_StartTicks(void);
    1.18 -extern int  SDL_TimerInit(void);
    1.19 +extern int SDL_TimerInit(void);
    1.20  extern void SDL_TimerQuit(void);
    1.21  #endif
    1.22  
    1.23 -/* The current SDL version */
    1.24 -static SDL_version version = 
    1.25 -	{ SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL };
    1.26 -
    1.27  /* The initialized subsystems */
    1.28  static Uint32 SDL_initialized = 0;
    1.29  static Uint32 ticks_started = 0;
    1.30 @@ -60,196 +56,205 @@
    1.31  int surfaces_allocated = 0;
    1.32  #endif
    1.33  
    1.34 -int SDL_InitSubSystem(Uint32 flags)
    1.35 +int
    1.36 +SDL_InitSubSystem(Uint32 flags)
    1.37  {
    1.38  #if !SDL_VIDEO_DISABLED
    1.39 -	/* Initialize the video/event subsystem */
    1.40 -	if ( (flags & SDL_INIT_VIDEO) && !(SDL_initialized & SDL_INIT_VIDEO) ) {
    1.41 -		if ( SDL_VideoInit(SDL_getenv("SDL_VIDEODRIVER"),
    1.42 -		                   (flags&SDL_INIT_EVENTTHREAD)) < 0 ) {
    1.43 -			return(-1);
    1.44 -		}
    1.45 -		SDL_initialized |= SDL_INIT_VIDEO;
    1.46 -	}
    1.47 +    /* Initialize the video/event subsystem */
    1.48 +    if ((flags & SDL_INIT_VIDEO) && !(SDL_initialized & SDL_INIT_VIDEO)) {
    1.49 +        if (SDL_VideoInit(SDL_getenv("SDL_VIDEODRIVER"),
    1.50 +                          (flags & SDL_INIT_EVENTTHREAD)) < 0) {
    1.51 +            return (-1);
    1.52 +        }
    1.53 +        SDL_initialized |= SDL_INIT_VIDEO;
    1.54 +    }
    1.55  #else
    1.56 -	if ( flags & SDL_INIT_VIDEO ) {
    1.57 -		SDL_SetError("SDL not built with video support");
    1.58 -		return(-1);
    1.59 -	}
    1.60 +    if (flags & SDL_INIT_VIDEO) {
    1.61 +        SDL_SetError("SDL not built with video support");
    1.62 +        return (-1);
    1.63 +    }
    1.64  #endif
    1.65  
    1.66  #if !SDL_AUDIO_DISABLED
    1.67 -	/* Initialize the audio subsystem */
    1.68 -	if ( (flags & SDL_INIT_AUDIO) && !(SDL_initialized & SDL_INIT_AUDIO) ) {
    1.69 -		if ( SDL_AudioInit(SDL_getenv("SDL_AUDIODRIVER")) < 0 ) {
    1.70 -			return(-1);
    1.71 -		}
    1.72 -		SDL_initialized |= SDL_INIT_AUDIO;
    1.73 -	}
    1.74 +    /* Initialize the audio subsystem */
    1.75 +    if ((flags & SDL_INIT_AUDIO) && !(SDL_initialized & SDL_INIT_AUDIO)) {
    1.76 +        if (SDL_AudioInit(SDL_getenv("SDL_AUDIODRIVER")) < 0) {
    1.77 +            return (-1);
    1.78 +        }
    1.79 +        SDL_initialized |= SDL_INIT_AUDIO;
    1.80 +    }
    1.81  #else
    1.82 -	if ( flags & SDL_INIT_AUDIO ) {
    1.83 -		SDL_SetError("SDL not built with audio support");
    1.84 -		return(-1);
    1.85 -	}
    1.86 +    if (flags & SDL_INIT_AUDIO) {
    1.87 +        SDL_SetError("SDL not built with audio support");
    1.88 +        return (-1);
    1.89 +    }
    1.90  #endif
    1.91  
    1.92  #if !SDL_TIMERS_DISABLED
    1.93 -	/* Initialize the timer subsystem */
    1.94 -	if ( ! ticks_started ) {
    1.95 -		SDL_StartTicks();
    1.96 -		ticks_started = 1;
    1.97 -	}
    1.98 -	if ( (flags & SDL_INIT_TIMER) && !(SDL_initialized & SDL_INIT_TIMER) ) {
    1.99 -		if ( SDL_TimerInit() < 0 ) {
   1.100 -			return(-1);
   1.101 -		}
   1.102 -		SDL_initialized |= SDL_INIT_TIMER;
   1.103 -	}
   1.104 +    /* Initialize the timer subsystem */
   1.105 +    if (!ticks_started) {
   1.106 +        SDL_StartTicks();
   1.107 +        ticks_started = 1;
   1.108 +    }
   1.109 +    if ((flags & SDL_INIT_TIMER) && !(SDL_initialized & SDL_INIT_TIMER)) {
   1.110 +        if (SDL_TimerInit() < 0) {
   1.111 +            return (-1);
   1.112 +        }
   1.113 +        SDL_initialized |= SDL_INIT_TIMER;
   1.114 +    }
   1.115  #else
   1.116 -	if ( flags & SDL_INIT_TIMER ) {
   1.117 -		SDL_SetError("SDL not built with timer support");
   1.118 -		return(-1);
   1.119 -	}
   1.120 +    if (flags & SDL_INIT_TIMER) {
   1.121 +        SDL_SetError("SDL not built with timer support");
   1.122 +        return (-1);
   1.123 +    }
   1.124  #endif
   1.125  
   1.126  #if !SDL_JOYSTICK_DISABLED
   1.127 -	/* Initialize the joystick subsystem */
   1.128 -	if ( (flags & SDL_INIT_JOYSTICK) &&
   1.129 -	     !(SDL_initialized & SDL_INIT_JOYSTICK) ) {
   1.130 -		if ( SDL_JoystickInit() < 0 ) {
   1.131 -			return(-1);
   1.132 -		}
   1.133 -		SDL_initialized |= SDL_INIT_JOYSTICK;
   1.134 -	}
   1.135 +    /* Initialize the joystick subsystem */
   1.136 +    if ((flags & SDL_INIT_JOYSTICK) && !(SDL_initialized & SDL_INIT_JOYSTICK)) {
   1.137 +        if (SDL_JoystickInit() < 0) {
   1.138 +            return (-1);
   1.139 +        }
   1.140 +        SDL_initialized |= SDL_INIT_JOYSTICK;
   1.141 +    }
   1.142  #else
   1.143 -	if ( flags & SDL_INIT_JOYSTICK ) {
   1.144 -		SDL_SetError("SDL not built with joystick support");
   1.145 -		return(-1);
   1.146 -	}
   1.147 +    if (flags & SDL_INIT_JOYSTICK) {
   1.148 +        SDL_SetError("SDL not built with joystick support");
   1.149 +        return (-1);
   1.150 +    }
   1.151  #endif
   1.152  
   1.153  #if !SDL_CDROM_DISABLED
   1.154 -	/* Initialize the CD-ROM subsystem */
   1.155 -	if ( (flags & SDL_INIT_CDROM) && !(SDL_initialized & SDL_INIT_CDROM) ) {
   1.156 -		if ( SDL_CDROMInit() < 0 ) {
   1.157 -			return(-1);
   1.158 -		}
   1.159 -		SDL_initialized |= SDL_INIT_CDROM;
   1.160 -	}
   1.161 +    /* Initialize the CD-ROM subsystem */
   1.162 +    if ((flags & SDL_INIT_CDROM) && !(SDL_initialized & SDL_INIT_CDROM)) {
   1.163 +        if (SDL_CDROMInit() < 0) {
   1.164 +            return (-1);
   1.165 +        }
   1.166 +        SDL_initialized |= SDL_INIT_CDROM;
   1.167 +    }
   1.168  #else
   1.169 -	if ( flags & SDL_INIT_CDROM ) {
   1.170 -		SDL_SetError("SDL not built with cdrom support");
   1.171 -		return(-1);
   1.172 -	}
   1.173 +    if (flags & SDL_INIT_CDROM) {
   1.174 +        SDL_SetError("SDL not built with cdrom support");
   1.175 +        return (-1);
   1.176 +    }
   1.177  #endif
   1.178 -	return(0);
   1.179 +    return (0);
   1.180  }
   1.181  
   1.182 -int SDL_Init(Uint32 flags)
   1.183 +int
   1.184 +SDL_Init(Uint32 flags)
   1.185  {
   1.186  #if !SDL_THREADS_DISABLED && SDL_THREAD_PTH
   1.187 -	if (!pth_init()) {
   1.188 -		return -1;
   1.189 -	}
   1.190 +    if (!pth_init()) {
   1.191 +        return -1;
   1.192 +    }
   1.193  #endif
   1.194  
   1.195 -	/* Clear the error message */
   1.196 -	SDL_ClearError();
   1.197 +    /* Clear the error message */
   1.198 +    SDL_ClearError();
   1.199  
   1.200 -	/* Initialize the desired subsystems */
   1.201 -	if ( SDL_InitSubSystem(flags) < 0 ) {
   1.202 -		return(-1);
   1.203 -	}
   1.204 +    /* Initialize the desired subsystems */
   1.205 +    if (SDL_InitSubSystem(flags) < 0) {
   1.206 +        return (-1);
   1.207 +    }
   1.208  
   1.209 -	/* Everything is initialized */
   1.210 -	if ( !(flags & SDL_INIT_NOPARACHUTE) ) {
   1.211 -		SDL_InstallParachute();
   1.212 -	}
   1.213 -	return(0);
   1.214 +    /* Everything is initialized */
   1.215 +    if (!(flags & SDL_INIT_NOPARACHUTE)) {
   1.216 +        SDL_InstallParachute();
   1.217 +    }
   1.218 +    return (0);
   1.219  }
   1.220  
   1.221 -void SDL_QuitSubSystem(Uint32 flags)
   1.222 +void
   1.223 +SDL_QuitSubSystem(Uint32 flags)
   1.224  {
   1.225 -	/* Shut down requested initialized subsystems */
   1.226 +    /* Shut down requested initialized subsystems */
   1.227  #if !SDL_CDROM_DISABLED
   1.228 -	if ( (flags & SDL_initialized & SDL_INIT_CDROM) ) {
   1.229 -		SDL_CDROMQuit();
   1.230 -		SDL_initialized &= ~SDL_INIT_CDROM;
   1.231 -	}
   1.232 +    if ((flags & SDL_initialized & SDL_INIT_CDROM)) {
   1.233 +        SDL_CDROMQuit();
   1.234 +        SDL_initialized &= ~SDL_INIT_CDROM;
   1.235 +    }
   1.236  #endif
   1.237  #if !SDL_JOYSTICK_DISABLED
   1.238 -	if ( (flags & SDL_initialized & SDL_INIT_JOYSTICK) ) {
   1.239 -		SDL_JoystickQuit();
   1.240 -		SDL_initialized &= ~SDL_INIT_JOYSTICK;
   1.241 -	}
   1.242 +    if ((flags & SDL_initialized & SDL_INIT_JOYSTICK)) {
   1.243 +        SDL_JoystickQuit();
   1.244 +        SDL_initialized &= ~SDL_INIT_JOYSTICK;
   1.245 +    }
   1.246  #endif
   1.247  #if !SDL_TIMERS_DISABLED
   1.248 -	if ( (flags & SDL_initialized & SDL_INIT_TIMER) ) {
   1.249 -		SDL_TimerQuit();
   1.250 -		SDL_initialized &= ~SDL_INIT_TIMER;
   1.251 -	}
   1.252 +    if ((flags & SDL_initialized & SDL_INIT_TIMER)) {
   1.253 +        SDL_TimerQuit();
   1.254 +        SDL_initialized &= ~SDL_INIT_TIMER;
   1.255 +    }
   1.256  #endif
   1.257  #if !SDL_AUDIO_DISABLED
   1.258 -	if ( (flags & SDL_initialized & SDL_INIT_AUDIO) ) {
   1.259 -		SDL_AudioQuit();
   1.260 -		SDL_initialized &= ~SDL_INIT_AUDIO;
   1.261 -	}
   1.262 +    if ((flags & SDL_initialized & SDL_INIT_AUDIO)) {
   1.263 +        SDL_AudioQuit();
   1.264 +        SDL_initialized &= ~SDL_INIT_AUDIO;
   1.265 +    }
   1.266  #endif
   1.267  #if !SDL_VIDEO_DISABLED
   1.268 -	if ( (flags & SDL_initialized & SDL_INIT_VIDEO) ) {
   1.269 -		SDL_VideoQuit();
   1.270 -		SDL_initialized &= ~SDL_INIT_VIDEO;
   1.271 -	}
   1.272 +    if ((flags & SDL_initialized & SDL_INIT_VIDEO)) {
   1.273 +        SDL_VideoQuit();
   1.274 +        SDL_initialized &= ~SDL_INIT_VIDEO;
   1.275 +    }
   1.276  #endif
   1.277  }
   1.278  
   1.279 -Uint32 SDL_WasInit(Uint32 flags)
   1.280 +Uint32
   1.281 +SDL_WasInit(Uint32 flags)
   1.282  {
   1.283 -	if ( ! flags ) {
   1.284 -		flags = SDL_INIT_EVERYTHING;
   1.285 -	}
   1.286 -	return (SDL_initialized&flags);
   1.287 +    if (!flags) {
   1.288 +        flags = SDL_INIT_EVERYTHING;
   1.289 +    }
   1.290 +    return (SDL_initialized & flags);
   1.291  }
   1.292  
   1.293 -void SDL_Quit(void)
   1.294 +void
   1.295 +SDL_Quit(void)
   1.296  {
   1.297 -	/* Quit all subsystems */
   1.298 +    /* Quit all subsystems */
   1.299  #ifdef DEBUG_BUILD
   1.300 -  printf("[SDL_Quit] : Enter! Calling QuitSubSystem()\n"); fflush(stdout);
   1.301 +    printf("[SDL_Quit] : Enter! Calling QuitSubSystem()\n");
   1.302 +    fflush(stdout);
   1.303  #endif
   1.304 -	SDL_QuitSubSystem(SDL_INIT_EVERYTHING);
   1.305 +    SDL_QuitSubSystem(SDL_INIT_EVERYTHING);
   1.306  
   1.307  #ifdef CHECK_LEAKS
   1.308  #ifdef DEBUG_BUILD
   1.309 -  printf("[SDL_Quit] : CHECK_LEAKS\n"); fflush(stdout);
   1.310 +    printf("[SDL_Quit] : CHECK_LEAKS\n");
   1.311 +    fflush(stdout);
   1.312  #endif
   1.313  
   1.314 -	/* Print the number of surfaces not freed */
   1.315 -	if ( surfaces_allocated != 0 ) {
   1.316 -		fprintf(stderr, "SDL Warning: %d SDL surfaces extant\n", 
   1.317 -							surfaces_allocated);
   1.318 -	}
   1.319 +    /* Print the number of surfaces not freed */
   1.320 +    if (surfaces_allocated != 0) {
   1.321 +        fprintf(stderr, "SDL Warning: %d SDL surfaces extant\n",
   1.322 +                surfaces_allocated);
   1.323 +    }
   1.324  #endif
   1.325  #ifdef DEBUG_BUILD
   1.326 -  printf("[SDL_Quit] : SDL_UninstallParachute()\n"); fflush(stdout);
   1.327 +    printf("[SDL_Quit] : SDL_UninstallParachute()\n");
   1.328 +    fflush(stdout);
   1.329  #endif
   1.330  
   1.331 -	/* Uninstall any parachute signal handlers */
   1.332 -	SDL_UninstallParachute();
   1.333 +    /* Uninstall any parachute signal handlers */
   1.334 +    SDL_UninstallParachute();
   1.335  
   1.336  #if !SDL_THREADS_DISABLED && SDL_THREAD_PTH
   1.337 -	pth_kill();
   1.338 +    pth_kill();
   1.339  #endif
   1.340  #ifdef DEBUG_BUILD
   1.341 -  printf("[SDL_Quit] : Returning!\n"); fflush(stdout);
   1.342 +    printf("[SDL_Quit] : Returning!\n");
   1.343 +    fflush(stdout);
   1.344  #endif
   1.345  
   1.346  }
   1.347  
   1.348 -/* Return the library version number */
   1.349 -const SDL_version * SDL_Linked_Version(void)
   1.350 +/* Get the library version number */
   1.351 +void
   1.352 +SDL_GetVersion(SDL_version * ver)
   1.353  {
   1.354 -	return(&version);
   1.355 +    SDL_VERSION(ver);
   1.356  }
   1.357  
   1.358  #if defined(__OS2__)
   1.359 @@ -261,65 +266,63 @@
   1.360  #include <os2.h>
   1.361  
   1.362  /* Exception handler to prevent the Audio thread hanging, making a zombie process! */
   1.363 -ULONG _System SDL_Main_ExceptionHandler(PEXCEPTIONREPORTRECORD pERepRec,
   1.364 -                                        PEXCEPTIONREGISTRATIONRECORD pERegRec,
   1.365 -                                        PCONTEXTRECORD pCtxRec,
   1.366 -                                        PVOID p)
   1.367 +ULONG _System
   1.368 +SDL_Main_ExceptionHandler(PEXCEPTIONREPORTRECORD pERepRec,
   1.369 +                          PEXCEPTIONREGISTRATIONRECORD pERegRec,
   1.370 +                          PCONTEXTRECORD pCtxRec, PVOID p)
   1.371  {
   1.372 -  if (pERepRec->fHandlerFlags & EH_EXIT_UNWIND)
   1.373 -    return XCPT_CONTINUE_SEARCH;
   1.374 -  if (pERepRec->fHandlerFlags & EH_UNWINDING)
   1.375 -    return XCPT_CONTINUE_SEARCH;
   1.376 -  if (pERepRec->fHandlerFlags & EH_NESTED_CALL)
   1.377 -    return XCPT_CONTINUE_SEARCH;
   1.378 +    if (pERepRec->fHandlerFlags & EH_EXIT_UNWIND)
   1.379 +        return XCPT_CONTINUE_SEARCH;
   1.380 +    if (pERepRec->fHandlerFlags & EH_UNWINDING)
   1.381 +        return XCPT_CONTINUE_SEARCH;
   1.382 +    if (pERepRec->fHandlerFlags & EH_NESTED_CALL)
   1.383 +        return XCPT_CONTINUE_SEARCH;
   1.384  
   1.385 -  /* Do cleanup at every fatal exception! */
   1.386 -  if (((pERepRec->ExceptionNum & XCPT_SEVERITY_CODE) == XCPT_FATAL_EXCEPTION) &&
   1.387 -      (pERepRec->ExceptionNum != XCPT_BREAKPOINT) &&
   1.388 -      (pERepRec->ExceptionNum != XCPT_SINGLE_STEP)
   1.389 -     )
   1.390 -  {
   1.391 -    if (SDL_initialized & SDL_INIT_AUDIO)
   1.392 -    {
   1.393 -      /* This removes the zombie audio thread in case of emergency. */
   1.394 +    /* Do cleanup at every fatal exception! */
   1.395 +    if (((pERepRec->ExceptionNum & XCPT_SEVERITY_CODE) ==
   1.396 +         XCPT_FATAL_EXCEPTION) && (pERepRec->ExceptionNum != XCPT_BREAKPOINT)
   1.397 +        && (pERepRec->ExceptionNum != XCPT_SINGLE_STEP)) {
   1.398 +        if (SDL_initialized & SDL_INIT_AUDIO) {
   1.399 +            /* This removes the zombie audio thread in case of emergency. */
   1.400  #ifdef DEBUG_BUILD
   1.401 -      printf("[SDL_Main_ExceptionHandler] : Calling SDL_CloseAudio()!\n");
   1.402 +            printf
   1.403 +                ("[SDL_Main_ExceptionHandler] : Calling SDL_CloseAudio()!\n");
   1.404  #endif
   1.405 -      SDL_CloseAudio();
   1.406 +            SDL_CloseAudio();
   1.407 +        }
   1.408      }
   1.409 -  }
   1.410 -  return (XCPT_CONTINUE_SEARCH);
   1.411 +    return (XCPT_CONTINUE_SEARCH);
   1.412  }
   1.413  
   1.414  
   1.415 -EXCEPTIONREGISTRATIONRECORD SDL_Main_xcpthand = {0, SDL_Main_ExceptionHandler};
   1.416 +EXCEPTIONREGISTRATIONRECORD SDL_Main_xcpthand =
   1.417 +    { 0, SDL_Main_ExceptionHandler };
   1.418  
   1.419  /* The main DLL entry for DLL Initialization and Uninitialization: */
   1.420 -unsigned _System LibMain(unsigned hmod, unsigned termination)
   1.421 +unsigned _System
   1.422 +LibMain(unsigned hmod, unsigned termination)
   1.423  {
   1.424 -  if (termination)
   1.425 -  {
   1.426 +    if (termination) {
   1.427  #ifdef DEBUG_BUILD
   1.428  /*    printf("[SDL DLL Unintialization] : Removing exception handler\n"); */
   1.429  #endif
   1.430 -    DosUnsetExceptionHandler(&SDL_Main_xcpthand);
   1.431 -    return 1;
   1.432 -  } else
   1.433 -  {
   1.434 +        DosUnsetExceptionHandler(&SDL_Main_xcpthand);
   1.435 +        return 1;
   1.436 +    } else {
   1.437  #ifdef DEBUG_BUILD
   1.438 -    /* Make stdout and stderr unbuffered! */
   1.439 -    setbuf(stdout, NULL);
   1.440 -    setbuf(stderr, NULL);
   1.441 +        /* Make stdout and stderr unbuffered! */
   1.442 +        setbuf(stdout, NULL);
   1.443 +        setbuf(stderr, NULL);
   1.444  #endif
   1.445 -    /* Fire up exception handler */
   1.446 +        /* Fire up exception handler */
   1.447  #ifdef DEBUG_BUILD
   1.448  /*    printf("[SDL DLL Initialization] : Setting exception handler\n"); */
   1.449  #endif
   1.450 -    /* Set exception handler */
   1.451 -    DosSetExceptionHandler(&SDL_Main_xcpthand);
   1.452 +        /* Set exception handler */
   1.453 +        DosSetExceptionHandler(&SDL_Main_xcpthand);
   1.454  
   1.455 -    return 1;
   1.456 -  }
   1.457 +        return 1;
   1.458 +    }
   1.459  }
   1.460  #endif /* __WATCOMC__ */
   1.461  
   1.462 @@ -330,19 +333,21 @@
   1.463  #define WIN32_LEAN_AND_MEAN
   1.464  #include <windows.h>
   1.465  
   1.466 -BOOL APIENTRY _DllMainCRTStartup( HANDLE hModule, 
   1.467 -                       DWORD  ul_reason_for_call, 
   1.468 -                       LPVOID lpReserved )
   1.469 +BOOL APIENTRY
   1.470 +_DllMainCRTStartup(HANDLE hModule,
   1.471 +                   DWORD ul_reason_for_call, LPVOID lpReserved)
   1.472  {
   1.473 -	switch (ul_reason_for_call) {
   1.474 -		case DLL_PROCESS_ATTACH:
   1.475 -		case DLL_THREAD_ATTACH:
   1.476 -		case DLL_THREAD_DETACH:
   1.477 -		case DLL_PROCESS_DETACH:
   1.478 -			break;
   1.479 -	}
   1.480 -	return TRUE;
   1.481 +    switch (ul_reason_for_call) {
   1.482 +    case DLL_PROCESS_ATTACH:
   1.483 +    case DLL_THREAD_ATTACH:
   1.484 +    case DLL_THREAD_DETACH:
   1.485 +    case DLL_PROCESS_DETACH:
   1.486 +        break;
   1.487 +    }
   1.488 +    return TRUE;
   1.489  }
   1.490  #endif /* building DLL with Watcom C */
   1.491  
   1.492  #endif /* OS/2 elif __WIN32__ */
   1.493 +
   1.494 +/* vi: set ts=4 sw=4 expandtab: */