[175] | 1 | /*
|
---|
| 2 | * bltWinUtil.c --
|
---|
| 3 | *
|
---|
| 4 | * This module contains WIN32 routines not included in the Tcl/Tk
|
---|
| 5 | * libraries.
|
---|
| 6 | *
|
---|
| 7 | * Copyright 1998 by Bell Labs Innovations for Lucent Technologies.
|
---|
| 8 | *
|
---|
| 9 | * Permission to use, copy, modify, and distribute this software and its
|
---|
| 10 | * documentation for any purpose and without fee is hereby granted, provided
|
---|
| 11 | * that the above copyright notice appear in all copies and that both that the
|
---|
| 12 | * copyright notice and warranty disclaimer appear in supporting documentation,
|
---|
| 13 | * and that the names of Lucent Technologies any of their entities not be used
|
---|
| 14 | * in advertising or publicity pertaining to distribution of the software
|
---|
| 15 | * without specific, written prior permission.
|
---|
| 16 | *
|
---|
| 17 | * Lucent Technologies disclaims all warranties with regard to this software,
|
---|
| 18 | * including all implied warranties of merchantability and fitness. In no event
|
---|
| 19 | * shall Lucent Technologies be liable for any special, indirect or
|
---|
| 20 | * consequential damages or any damages whatsoever resulting from loss of use,
|
---|
| 21 | * data or profits, whether in an action of contract, negligence or other
|
---|
| 22 | * tortuous action, arising out of or in connection with the use or performance
|
---|
| 23 | * of this software.
|
---|
| 24 | *
|
---|
| 25 | */
|
---|
| 26 |
|
---|
| 27 | #include <stdlib.h>
|
---|
| 28 |
|
---|
| 29 | #include "bltInt.h"
|
---|
| 30 |
|
---|
| 31 | double
|
---|
| 32 | drand48(void)
|
---|
| 33 | {
|
---|
| 34 | return (double) rand() / (double)RAND_MAX;
|
---|
| 35 | }
|
---|
| 36 |
|
---|
| 37 | void
|
---|
| 38 | srand48(long int seed)
|
---|
| 39 | {
|
---|
| 40 | srand(seed);
|
---|
| 41 | }
|
---|
| 42 |
|
---|
| 43 | int
|
---|
| 44 | Blt_GetPlatformId(void)
|
---|
| 45 | {
|
---|
| 46 | static int platformId = 0;
|
---|
| 47 |
|
---|
| 48 | if (platformId == 0) {
|
---|
| 49 | OSVERSIONINFO opsysInfo;
|
---|
| 50 |
|
---|
| 51 | opsysInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
---|
| 52 | if (GetVersionEx(&opsysInfo)) {
|
---|
| 53 | platformId = opsysInfo.dwPlatformId;
|
---|
| 54 | }
|
---|
| 55 | }
|
---|
| 56 | return platformId;
|
---|
| 57 | }
|
---|
| 58 |
|
---|
| 59 | char *
|
---|
| 60 | Blt_LastError(void)
|
---|
| 61 | {
|
---|
| 62 | static char buffer[1024];
|
---|
| 63 | int length;
|
---|
| 64 |
|
---|
| 65 | FormatMessage(
|
---|
| 66 | FORMAT_MESSAGE_FROM_SYSTEM,
|
---|
| 67 | NULL,
|
---|
| 68 | GetLastError(),
|
---|
| 69 | MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */
|
---|
| 70 | buffer,
|
---|
| 71 | 1024,
|
---|
| 72 | NULL);
|
---|
| 73 | length = strlen(buffer);
|
---|
| 74 | if (buffer[length - 2] == '\r') {
|
---|
| 75 | buffer[length - 2] = '\0';
|
---|
| 76 | }
|
---|
| 77 | return buffer;
|
---|
| 78 | }
|
---|
| 79 |
|
---|