summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux/latest/com32/menu/printmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux/latest/com32/menu/printmsg.c')
-rw-r--r--contrib/syslinux/latest/com32/menu/printmsg.c119
1 files changed, 0 insertions, 119 deletions
diff --git a/contrib/syslinux/latest/com32/menu/printmsg.c b/contrib/syslinux/latest/com32/menu/printmsg.c
deleted file mode 100644
index cfceac3..0000000
--- a/contrib/syslinux/latest/com32/menu/printmsg.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/* ----------------------------------------------------------------------- *
- *
- * Copyright 2004-2008 H. Peter Anvin - All Rights Reserved
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston MA 02110-1301, USA; either version 2 of the License, or
- * (at your option) any later version; incorporated herein by reference.
- *
- * ----------------------------------------------------------------------- */
-
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <consoles.h>
-#include <getkey.h>
-#include <minmax.h>
-#include <setjmp.h>
-#include <limits.h>
-#include <sha1.h>
-#include <base64.h>
-#include <colortbl.h>
-#ifdef __COM32__
-#include <com32.h>
-#endif
-
-#include "menu.h"
-
-static int draw_message_file(const char *filename)
-{
- FILE *f;
- int ch;
- enum msgname_state {
- st_init, /* Base state */
- st_si_1, /* <SI> digit 1 */
- st_si_2, /* <SI> digit 2 */
- st_skipline, /* Skip until NL */
- } state = st_init;
- int eof = 0;
- int attr = 0;
-
- f = fopen(filename, "r");
- if (!f)
- return -1;
-
- /* Clear screen, hide cursor, default attribute */
- printf("\033e\033%%@\033)0\033(B\3#%03d\033[?25l\033[2J\033[H",
- message_base_color + 0x07);
-
- while (!eof && (ch = getc(f)) != EOF) {
- switch (state) {
- case st_init:
- switch (ch) {
- case '\f':
- fputs("\033[2J\033[H", stdout);
- break;
- case 15: /* SI */
- state = st_si_1;
- break;
- case 24:
- state = st_skipline;
- break;
- case 26:
- eof = 1;
- break;
- case '\a':
- case '\n':
- case '\r':
- putchar(ch);
- break;
- default:
- if (ch >= 32)
- putchar(ch);
- break;
- }
- break;
-
- case st_si_1:
- attr = hexval(ch) << 4;
- state = st_si_2;
- break;
-
- case st_si_2:
- attr |= hexval(ch);
- printf("\3#%03d", attr + message_base_color);
- state = st_init;
- break;
-
- case st_skipline:
- if (ch == '\n')
- state = st_init;
- break;
- }
- }
-
- fclose(f);
- return 0;
-}
-
-int show_message_file(const char *filename, const char *background)
-{
- int rv = KEY_NONE;
- const char *old_background = NULL;
-
- if (background) {
- old_background = current_background;
- set_background(background);
- }
-
- if (!(rv = draw_message_file(filename)))
- rv = mygetkey(0); /* Wait for keypress */
-
- if (old_background)
- set_background(old_background);
-
- return rv;
-}