diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c
index 061de2ff4ea9847cc659a02b5ea1439075133a34..b62edb88f0b2061b463f8ec0f1653845b5802609 100644
--- a/src/conio/ciolib.c
+++ b/src/conio/ciolib.c
@@ -57,12 +57,14 @@ void ciolib_delline(void);
 void ciolib_insline(void);
 char *ciolib_getpass(const char *prompt);
 
+#define CIOLIB_INIT()		{ if(!initialized) initciolib(CIOLIB_MODE_AUTO); }
+
 #ifndef _WIN32
  #ifndef NO_X
 int try_x_init(int mode)
 {
 	if(!console_init()) {
-		cio_api.mode=CIOLIB_X_MODE;
+		cio_api.mode=CIOLIB_MODE_X;
 		cio_api.puttext=x_puttext;
 		cio_api.gettext=x_gettext;
 		cio_api.textattr=x_textattr;
@@ -87,7 +89,7 @@ int try_x_init(int mode)
 int try_curses_init(int mode)
 {
 	if(curs_initciolib(mode)) {
-		cio_api.mode=CIOLIB_CURSES_IBM_MODE;
+		cio_api.mode=CIOLIB_MODE_CURSES_IBM;
 		cio_api.puttext=curs_puttext;
 		cio_api.gettext=curs_gettext;
 		cio_api.textattr=curs_textattr;
@@ -112,7 +114,7 @@ int try_curses_init(int mode)
 int try_ansi_init(int mode)
 {
 	if(ansi_initciolib(mode)) {
-		cio_api.mode=CIOLIB_ANSI_MODE;
+		cio_api.mode=CIOLIB_MODE_ANSI;
 		cio_api.puttext=ansi_puttext;
 		cio_api.gettext=ansi_gettext;
 		cio_api.textattr=ansi_textattr;
@@ -134,17 +136,18 @@ int try_ansi_init(int mode)
 }
 
 #ifdef _WIN32
+#if defined(__BORLANDC__)
+        #pragma argsused
+#endif
 int try_conio_init(int mode)
 {
-	if(mode==CIOLIB_MODE_AUTO);	/* Shut up stupid warning */
 	/* This should test for something or other */
 	if(isatty(fileno(stdout))) {
-		cio_api.mode=CIOLIB_CONIO_MODE;
+		cio_api.mode=CIOLIB_MODE_CONIO;
 		cio_api.puttext=puttext;
 		cio_api.gettext=gettext;
 		cio_api.textattr=textattr;
 		cio_api.kbhit=kbhit;
-//		cio_api.delay=delay;
 		cio_api.wherey=wherey;
 		cio_api.wherex=wherex;
 		cio_api.putch=putch;
@@ -153,7 +156,6 @@ int try_conio_init(int mode)
 		cio_api.setcursortype=_setcursortype;
 		cio_api.getch=getch;
 		cio_api.getche=getche;
-//		cio_api.beep=beep;
 		cio_api.textmode=textmode;
 		return(1);
 	}
@@ -166,7 +168,7 @@ int try_conio_init(int mode)
 int initciolib(int mode)
 {
 	switch(mode) {
-		case CIOLIB_AUTO_MODE:
+		case CIOLIB_MODE_AUTO:
 #ifdef _WIN32
 			if(!try_conio_init(mode))
 #else
@@ -176,23 +178,23 @@ int initciolib(int mode)
 					try_ansi_init(mode);
 			break;
 #ifdef _WIN32
-		case CIOLIB_CONIO_MODE:
+		case CIOLIB_MODE_CONIO:
 			try_conio_init(mode);
 			break;
 #else
-		case CIOLIB_CURSES_MODE:
-		case CIOLIB_CURSES_IBM_MODE:
+		case CIOLIB_MODE_CURSES:
+		case CIOLIB_MODE_CURSES_IBM:
 			try_curses_init(mode);
 			break;
-		case CIOLIB_X_MODE:
+		case CIOLIB_MODE_X:
 			try_x_init(mode);
 			break;
 #endif
-		case CIOLIB_ANSI_MODE:
+		case CIOLIB_MODE_ANSI:
 			try_ansi_init(mode);
 			break;
 	}
-	if(cio_api.mode==CIOLIB_AUTO_MODE) {
+	if(cio_api.mode==CIOLIB_MODE_AUTO) {
 		fprintf(stderr,"CIOLIB initialization failed!");
 		return(-1);
 	}
@@ -209,8 +211,7 @@ int initciolib(int mode)
 
 int ciolib_kbhit(void)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
 	if(ungotch)
 		return(1);
 	return(cio_api.kbhit());
@@ -220,8 +221,8 @@ int ciolib_getch(void)
 {
 	int ch;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+
 	if(ungotch) {
 		ch=ungotch;
 		ungotch=0;
@@ -234,8 +235,8 @@ int ciolib_getche(void)
 {
 	int ch;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+
 	if(ungotch) {
 		ch=ungotch;
 		ungotch=0;
@@ -247,8 +248,8 @@ int ciolib_getche(void)
 
 int ciolib_ungetch(int ch)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	if(ungotch)
 		return(EOF);
 	ungotch=ch;
@@ -261,8 +262,8 @@ int ciolib_movetext(int sx, int sy, int ex, int ey, int dx, int dy)
 	int height;
 	char *buf;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	width=ex-sx;
 	height=ey-sy;
 	buf=(char *)malloc((width+1)*(height+1)*2);
@@ -287,8 +288,8 @@ char *ciolib_cgets(char *str)
 	int chars;
 	int ch;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	maxlen=*(unsigned char *)str;
 	while((ch=ciolib_getche())!='\n') {
 		switch(ch) {
@@ -326,8 +327,8 @@ int ciolib_cscanf (char *format , ...)
     va_list argptr;
 	int ret;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	str[0]=-1;
 	va_start(argptr,format);
 	ret=vsscanf(ciolib_cgets(str),format,argptr);
@@ -342,8 +343,8 @@ char *ciolib_getpass(const char *prompt)
 	int chars;
 	int ch;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_cputs((char *)prompt);
 	while((ch=getch())!='\n') {
 		switch(ch) {
@@ -374,7 +375,7 @@ char *ciolib_getpass(const char *prompt)
 void ciolib_gettextinfo(struct text_info *info)
 {
 	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+		initciolib(CIOLIB_MODE_AUTO);
 	else {
 		cio_api.gettextinfo(&cio_textinfo);
 	}
@@ -400,8 +401,8 @@ void ciolib_wscroll(void)
 	int os;
 	struct text_info ti;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&ti);
 	if(!_wscroll)
 		return;
@@ -418,8 +419,8 @@ int ciolib_wherex(void)
 {
 	int x;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	x=cio_api.wherex();
 	x=x-cio_textinfo.winleft+1;
 	return(x);
@@ -429,8 +430,8 @@ int ciolib_wherey(void)
 {
 	int y;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	y=cio_api.wherey();
 	y=y-cio_textinfo.wintop+1;
 	return(y);
@@ -442,8 +443,8 @@ void ciolib_gotoxy(int x, int y)
 	int ny;
 	struct text_info ti;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&ti);
 	if(		x < 1
 			|| x > ti.winright-ti.winleft+1
@@ -457,8 +458,8 @@ void ciolib_gotoxy(int x, int y)
 
 void ciolib_textmode(mode)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	if(mode==-1) {
 		ciolib_gettextinfo(&cio_textinfo);
 		cio_api.textmode(lastmode);
@@ -478,8 +479,8 @@ void ciolib_textmode(mode)
 
 void ciolib_window(int sx, int sy, int ex, int ey)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&cio_textinfo);
 	if(		   sx < 1
 			|| sy < 1
@@ -504,8 +505,8 @@ void ciolib_clreol(void)
 	int os;
 	struct text_info	ti;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&ti);
 	os=_wscroll;
 	_wscroll=0;
@@ -521,8 +522,8 @@ void ciolib_clrscr(void)
 	int width,height;
 	struct text_info ti;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&ti);
 
 	width=ti.winright-ti.winleft+1;
@@ -540,8 +541,8 @@ void ciolib_delline(void)
 {
 	struct text_info ti;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&ti);
 
 	ciolib_movetext(ti.winleft,ti.cury+1,ti.winright,ti.winbottom,ti.winleft,ti.cury);
@@ -554,8 +555,8 @@ void ciolib_insline(void)
 {
 	struct text_info ti;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&ti);
 
 	ciolib_movetext(ti.winleft,ti.cury,ti.winright,ti.winbottom,ti.winleft,ti.cury+1);
@@ -575,8 +576,8 @@ int ciolib_cprintf(char *fmat, ...)
 	char	*str;
 #endif
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
     va_start(argptr,fmat);
 #ifdef _WIN32
 	ret=vsnprintf(str,sizeof(str)-1,fmat,argptr);
@@ -603,8 +604,8 @@ int ciolib_cputs(char *str)
 	int		pos;
 	int		ret=0;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	for(pos=0;str[pos];pos++)
 	{
 		ret=str[pos];
@@ -619,8 +620,8 @@ void ciolib_textbackground(int colour)
 {
 	unsigned char attr;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&cio_textinfo);
 	attr=cio_textinfo.attribute;
 	attr&=143;
@@ -632,8 +633,8 @@ void ciolib_textcolor(int colour)
 {
 	unsigned char attr;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&cio_textinfo);
 	attr=cio_textinfo.attribute;
 	attr&=240;
@@ -645,8 +646,8 @@ void ciolib_highvideo(void)
 {
 	int attr;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&cio_textinfo);
 	attr=cio_textinfo.attribute;
 	attr |= 8;
@@ -657,8 +658,8 @@ void ciolib_lowvideo(void)
 {
 	int attr;
 
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_gettextinfo(&cio_textinfo);
 	attr=cio_textinfo.attribute;
 	attr &= 0xf7;
@@ -667,49 +668,49 @@ void ciolib_lowvideo(void)
 
 void ciolib_normvideo(void)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	ciolib_textattr(0x07);
 }
 
 int ciolib_puttext(int a,int b,int c,int d,unsigned char *e)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	return(cio_api.puttext(a,b,c,d,e));
 }
 
 int ciolib_gettext(int a,int b,int c,int d,unsigned char *e)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	return(cio_api.gettext(a,b,c,d,e));
 }
 
 void ciolib_textattr(unsigned char a)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	cio_api.textattr(a);
 }
 
 void ciolib_delay(long a)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	cio_api.delay(a);
 }
 
 int ciolib_putch(unsigned char a)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	return(cio_api.putch(a));
 }
 
 void ciolib_setcursortype(int a)
 {
-	if(!initialized)
-		initciolib(CIOLIB_AUTO_MODE);
+	CIOLIB_INIT();
+	
 	cio_api.setcursortype(a);
 }
diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h
index aea28386427185e8b15e067779c695c0df69941d..fa3ae754b1084ca4b5788a6d6dc3257235c3350a 100644
--- a/src/conio/ciolib.h
+++ b/src/conio/ciolib.h
@@ -4,12 +4,12 @@
 #define _CIOLIB_H_
 
 enum {
-	 CIOLIB_AUTO_MODE
-	,CIOLIB_CURSES_MODE
-	,CIOLIB_CURSES_IBM_MODE
-	,CIOLIB_ANSI_MODE
-	,CIOLIB_X_MODE
-	,CIOLIB_CONIO_MODE
+	 CIOLIB_MODE_AUTO
+	,CIOLIB_MODE_CURSES
+	,CIOLIB_MODE_CURSES_IBM
+	,CIOLIB_MODE_ANSI
+	,CIOLIB_MODE_X
+	,CIOLIB_MODE_CONIO
 };
 
 #ifndef __unix__		/* presumably, Win32 */