diff --git a/MD_Init.c b/MD_Init.c index d0dada4..a1fa100 100644 --- a/MD_Init.c +++ b/MD_Init.c @@ -183,12 +183,12 @@ void md_exit(int exitcode) { exit(exitcode); } -int md_init(const char *dropfile, int socket) { +void md_init(const char *dropfile, int socket) { char *filename = strrchr(dropfile, PATH_SEP); #if !defined(WIN32) && !defined(_MSC_VER) struct termios ttystate; #endif - int ret; + int ret = -1; mdcontrol.socket = socket; @@ -202,6 +202,14 @@ int md_init(const char *dropfile, int socket) { ret = read_doorsys(dropfile); } else if (strcasecmp(filename, "door32.sys") == 0) { ret = read_door32(dropfile); + } else { + fprintf(stderr, "Unsupported dropfile: %s\n", filename); + exit(-1); + } + + if (ret == -1) { + fprintf(stderr, "Unable to open dropfile: %s\n", dropfile); + exit(-1); } if (mdcontrol.socket == -1) {