Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "Platform.h"
00025
00026 #include <stdio.h>
00027 #include <stdarg.h>
00028 #include <string.h>
00029 #include <stdlib.h>
00030 #ifdef WIN32
00031 #include <windows.h>
00032 #else
00033 #include <time.h>
00034 #endif
00035
00036 namespace alvar {
00037
00038 void errorAtLine(int status, int error, const char *filename,
00039 unsigned int line, const char *format, ...)
00040 {
00041 fflush(stdout);
00042 if (filename) {
00043 fprintf(stderr, "%s:%d: ", filename, line);
00044 }
00045 if (format) {
00046 va_list args;
00047 va_start(args, format);
00048 vfprintf(stderr, format, args);
00049 va_end(args);
00050 }
00051 if (error) {
00052 fprintf(stderr, ": %s", strerror(error));
00053 }
00054 fprintf(stderr, "\n");
00055 fflush(stderr);
00056 if (status) {
00057 exit(status);
00058 }
00059 }
00060
00061 void sleep(unsigned long milliseconds)
00062 {
00063 #ifdef WIN32
00064 Sleep(milliseconds);
00065 #else
00066 struct timespec t;
00067 t.tv_sec = 0;
00068 t.tv_nsec = 1000 * 1000 * milliseconds;
00069 nanosleep(&t, NULL);
00070 #endif
00071 }
00072
00073 }