diff --git a/MD_AnsiCons.h b/MD_AnsiCons.h index 57ef683..733e4ae 100644 --- a/MD_AnsiCons.h +++ b/MD_AnsiCons.h @@ -1,4 +1,4 @@ #pragma once #include -extern int ansi_write(FILE* fp, const char* buf, int len); \ No newline at end of file +extern int ansi_write(FILE* fp, const char* buf, int len); diff --git a/MD_Getc.c b/MD_Getc.c index 03ecbb8..76ef81c 100644 --- a/MD_Getc.c +++ b/MD_Getc.c @@ -2,10 +2,11 @@ #include #if defined(_MSC_VER) || defined(WIN32) #include +#define STDIN_FILENO 1 #else #include -#endif #include +#endif #include #include #include "MagiDoor.h" @@ -17,7 +18,7 @@ extern time_t mdtimeremaining; char md_getc() { char c; - ssize_t ret; + int ret; int stage = 0; @@ -43,9 +44,16 @@ char md_getc() { md_printf("\r\nOut of time!\r\n"); md_exit(0); } +#if defined(_MSC_VER) + Sleep(1); +#else usleep(100); +#endif continue; } + else if (ret < 0) { + md_exit(0); + } if (mdcontrol.socket != -1) { if ((unsigned char)c == IAC && stage == 0) { diff --git a/MD_Init.c b/MD_Init.c index 7fcad1e..62150ba 100644 --- a/MD_Init.c +++ b/MD_Init.c @@ -1,13 +1,14 @@ #include #if defined(WIN32) || defined(_MSC_VER) #include +#define strcasecmp stricmp #else #include #include +#include #endif #include #include -#include #include #include "MagiDoor.h" diff --git a/MD_Printf.c b/MD_Printf.c index 9f6d3ca..c1ced2f 100644 --- a/MD_Printf.c +++ b/MD_Printf.c @@ -1,12 +1,15 @@ #include #include #include -#include #if defined(_MSC_VER) || defined(WIN32) #include #include "MD_AnsiCons.h" + +#define STDOUT_FILENO 0 + #else #include +#include #endif #include "MagiDoor.h" diff --git a/MagiDoor.h b/MagiDoor.h index e83f998..071f506 100644 --- a/MagiDoor.h +++ b/MagiDoor.h @@ -23,14 +23,16 @@ typedef struct MDDoorControl { extern MDDoorControl_t mdcontrol; -extern void md_init(const char *dropfile, int socket); + + +extern void md_init(const char* dropfile, int socket); extern void md_exit(int exitcode); extern void md_putchar(char c); -extern void md_printf(const char *fmt, ...); +extern void md_printf(const char* fmt, ...); extern char md_getc(); -extern int md_getstring(char *ptr, int maxlen, char minchar, char maxchar); -extern void md_sendfile(const char *filename, int pause); +extern int md_getstring(char* ptr, int maxlen, char minchar, char maxchar); +extern void md_sendfile(const char* filename, int pause); extern void md_clr_scr(); extern void md_set_cursor(int y, int x); -extern char md_get_answer(char *options); +extern char md_get_answer(char* options); #endif