From 9fc392f26e2a54a1c055405487c740e9c29f99be Mon Sep 17 00:00:00 2001 From: Thomas Cort Date: Wed, 25 Mar 2015 14:32:43 -0400 Subject: [PATCH 1/5] mined: built without UNIX defined. * Remove undef NULL, EOF, getchar, putchar * Rename putchar, getchar, _putchar, _getchar to putch, getch, _putch, _getch to avoid conflict with libc functions. * Rename UP() to UP1() (for UP 1 line) to avoid conflict with UP definition in termcap.h. Rename DN1 LF1 RT1 for consistency. * Add termcap.h for prototypes for tputs and friends. * Add libterminfo references to Makefile * Add return value to _putch() to make it work as tputs expects. * Make putch() call _putch() * Remove UNIX ifdefs and all code in the !UNIX branches. closes #43 --- minix/commands/mined/Makefile | 5 + minix/commands/mined/mined.h | 50 +++------ minix/commands/mined/mined1.c | 198 +++++++++------------------------- minix/commands/mined/mined2.c | 42 +++----- 4 files changed, 85 insertions(+), 210 deletions(-) diff --git a/minix/commands/mined/Makefile b/minix/commands/mined/Makefile index d20eebd0b..39ba9f5a6 100644 --- a/minix/commands/mined/Makefile +++ b/minix/commands/mined/Makefile @@ -3,4 +3,9 @@ PROG= mined SRCS= mined1.c mined2.c +CPPFLAGS+= -I${.CURDIR}/../../../lib/libterminfo + +DPADD+= ${LIBTERMINFO} +LDADD+= -lterminfo + .include diff --git a/minix/commands/mined/mined.h b/minix/commands/mined/mined.h index 04c4f8af9..0832988eb 100644 --- a/minix/commands/mined/mined.h +++ b/minix/commands/mined/mined.h @@ -6,30 +6,13 @@ #include #include #include +#include #include #include - -#ifndef YMAX -#ifdef UNIX #include -#undef putchar -#undef getchar -#undef NULL -#undef EOF -extern char *CE, *VS, *SO, *SE, *CL, *AL, *CM; -#define YMAX 49 -#else -#define YMAX 24 /* Maximum y coordinate starting at 0 */ -/* Escape sequences. */ -extern char *enter_string; /* String printed on entering mined */ -extern char *rev_video; /* String for starting reverse video */ -extern char *normal_video; /* String for leaving reverse video */ -extern char *rev_scroll; /* String for reverse scrolling */ -extern char *pos_string; /* Absolute cursor positioning */ -#define X_PLUS ' ' /* To be added to x for cursor sequence */ -#define Y_PLUS ' ' /* To be added to y for cursor sequence */ -#endif /* UNIX */ +extern char *CE, *VS, *SO, *SE, *CL, *AL, *CM; +#define YMAX 49 /* Maximum y coordinate starting at 0 */ #define XMAX 79 /* Maximum x coordinate starting at 0*/ #define SCREENMAX (YMAX - 1) /* Number of lines displayed */ #define XBREAK (XMAX - 0) /* Line shift at this coordinate */ @@ -163,12 +146,12 @@ extern long chars_saved; /* Nr of chars saved in buffer */ /* * Print character on terminal */ -#define putchar(c) (void) write_char(STD_OUT, (c)) +#define putch(c) _putch((c)) /* * Ring bell on terminal */ -#define ring_bell() putchar('\07') +#define ring_bell() putch('\07') /* * Print string on terminal @@ -229,8 +212,6 @@ extern long chars_saved; /* Nr of chars saved in buffer */ */ #define get_shift(cnt) ((cnt) & DUMMY_MASK) -#endif /* YMAX */ - /* mined1.c */ void FS(void); @@ -250,7 +231,7 @@ void copy_string(char *to, char *from ); void reset(LINE *head_line, int screen_y ); void set_cursor(int nx, int ny ); void open_device(void); -int getchar(void); +int getch(void); void display(int x_coord, int y_coord, LINE *line, int count ); int write_char(int fd, int c ); int writeline(int fd, char *text ); @@ -263,13 +244,6 @@ void raw_mode(FLAG state ); void panic(char *message ); char *alloc(int bytes ); void free_space(char *p ); -/* -#ifdef UNIX -void(*key_map [128]) (void); -#else -void(*key_map [256]) (void); -#endif -*/ void initialize(void); char *basename(char *path ); void load_file(char *file ); @@ -293,17 +267,17 @@ char *num_out(long number ); int get_number(char *message, int *result ); int input(char *inbuf, FLAG clearfl ); int get_file(char *message, char *file ); -int _getchar(void); +int _getch(void); void _flush(void); -void _putchar(int c ); +int _putch(int c ); void get_term(void); /* mined2.c */ -void UP(void); -void DN(void); -void LF(void); -void RT(void); +void UP1(void); +void DN1(void); +void LF1(void); +void RT1(void); void HIGH(void); void LOW(void); void BL(void); diff --git a/minix/commands/mined/mined1.c b/minix/commands/mined/mined1.c index 154d6c7e8..de8bd6d1f 100644 --- a/minix/commands/mined/mined1.c +++ b/minix/commands/mined/mined1.c @@ -153,7 +153,7 @@ * 3.3 Moving around. * * Several commands are implemented for moving through the file. - * Moving up (UP), down (DN) left (LF) and right (RT) are done by the + * Moving up (UP1), down (DN1) left (LF1) and right (RT1) are done by the * arrow keys. Moving one line below the screen scrolls the screen one * line up. Moving one line above the screen scrolls the screen one line * down. The functions forward_scroll () and reverse_scroll () take care @@ -304,7 +304,7 @@ * string). The functions status_line (string1, string2), error (string1, * string2), clear_status () and bottom_line () all print information on * the status line. - * Get_string (message, buffer) reads a string and getchar () reads one + * Get_string (message, buffer) reads a string and getch () reads one * character from the terminal. * Num_out ((long) number) prints the number into a 11 digit field * without leading zero's. It returns a pointer to the resulting string. @@ -314,7 +314,7 @@ * Output is done by four functions: writeline(fd,string), clear_buffer() * write_char (fd, c) and flush_buffer (fd). Three defines are provided * to write on filedescriptor STD_OUT (terminal) which is used normally: - * string_print (string), putchar (c) and flush (). All these functions + * string_print (string), putch (c) and flush (). All these functions * use the global I/O buffer screen and the global index for this array * called out_count. In this way I/O can be buffered, so that reads or * writes can be done in blocks of SCREEN_SIZE size. @@ -447,11 +447,7 @@ void VI(void) /* Free old linked list, initialize global variables and load new file */ initialize(); -#ifdef UNIX - tputs(CL, 0, _putchar); -#else - string_print (enter_string); -#endif /* UNIX */ + tputs(CL, 0, _putch); load_file(new_file[0] == '\0' ? NULL : new_file); } @@ -540,7 +536,7 @@ void SH(void) return; case 0: /* This is the child */ set_cursor(0, ymax); - putchar('\n'); + putch('\n'); flush(); raw_mode(OFF); if (rpipe) { /* Fix stdin */ @@ -608,11 +604,7 @@ int bottom_line(FLAG revfl, char *s1, char *s2, char *inbuf, FLAG statfl) clear_status (); set_cursor(0, ymax); if (revfl == ON) { /* Print rev. start sequence */ -#ifdef UNIX - tputs(SO, 0, _putchar); -#else - string_print(rev_video); -#endif /* UNIX */ + tputs(SO, 0, _putch); stat_visible = TRUE; } else /* Used as clear_status() */ @@ -624,13 +616,8 @@ int bottom_line(FLAG revfl, char *s1, char *s2, char *inbuf, FLAG statfl) ret = input(inbuf, statfl); /* Print normal video */ -#ifdef UNIX - tputs(SE, 0, _putchar); - tputs(CE, 0, _putchar); -#else - string_print(normal_video); - string_print(blank_line); /* Clear the rest of the line */ -#endif /* UNIX */ + tputs(SE, 0, _putch); + tputs(CE, 0, _putch); /* Clear the rest of the line */ if (inbuf != NULL) set_cursor(0, ymax); else @@ -834,16 +821,7 @@ void reset(LINE *head_line, int screen_y) */ void set_cursor(int nx, int ny) { -#ifdef UNIX - extern char *tgoto(); - - tputs(tgoto(CM, nx, ny), 0, _putchar); -#else - char text_buffer[10]; - - build_string(text_buffer, pos_string, ny+1, nx+1); - string_print(text_buffer); -#endif /* UNIX */ + tputs(tgoto(CM, nx, ny), 0, _putch); } /* @@ -859,18 +837,9 @@ void open_device(void) * Getchar() reads one character from the terminal. The character must be * masked with 0377 to avoid sign extension. */ -int getchar(void) +int getch(void) { -#ifdef UNIX - return (_getchar() & 0377); -#else - char c; - - if (read(input_fd, &c, 1) != 1 && quit == FALSE) - panic("Can't read one char from fd #0"); - - return c & 0377; -#endif /* UNIX */ + return (_getch() & 0377); } /* @@ -898,12 +867,8 @@ void display(int x_coord, int y_coord, register LINE *line, register int count) /* Print the blank lines (if any) */ if (loading == FALSE) { while (count-- >= 0) { -#ifdef UNIX - tputs(CE, 0, _putchar); -#else - string_print(blank_line); -#endif /* UNIX */ - putchar('\n'); + tputs(CE, 0, _putch); + putch('\n'); } } } @@ -955,42 +920,30 @@ void put_line(LINE *line, int offset, FLAG clear_line) tab_count = tab(count); while (count < XBREAK && count < tab_count) { count++; - putchar(' '); + putch(' '); } textp++; } else { if (*textp >= '\01' && *textp <= '\037') { -#ifdef UNIX - tputs(SO, 0, _putchar); -#else - string_print (rev_video); -#endif /* UNIX */ - putchar(*textp++ + '\100'); -#ifdef UNIX - tputs(SE, 0, _putchar); -#else - string_print (normal_video); -#endif /* UNIX */ + tputs(SO, 0, _putch); + putch(*textp++ + '\100'); + tputs(SE, 0, _putch); } else - putchar(*textp++); + putch(*textp++); count++; } } /* If line is longer than XBREAK chars, print the shift_mark */ if (count == XBREAK && *textp != '\n') - putchar(textp[1]=='\n' ? *textp : SHIFT_MARK); + putch(textp[1]=='\n' ? *textp : SHIFT_MARK); /* Clear the rest of the line is clear_line is TRUE */ if (clear_line == TRUE) { -#ifdef UNIX - tputs(CE, 0, _putchar); -#else - string_print(blank_line); -#endif /* UNIX */ - putchar('\n'); + tputs(CE, 0, _putch); + putch('\n'); } } @@ -1001,14 +954,11 @@ int flush_buffer(int fd) { if (out_count <= 0) /* There is nothing to flush */ return FINE; -#ifdef UNIX if (fd == STD_OUT) { printf("%.*s", out_count, screen); _flush(); } - else -#endif /* UNIX */ - if (write(fd, screen, out_count) != out_count) { + else if (write(fd, screen, out_count) != out_count) { bad_write(fd); return ERRORS; } @@ -1050,7 +1000,7 @@ void abort_mined(void) /* Ask for confirmation */ status_line("Really abort? ", NULL); - if (getchar() != 'y') { + if (getch() != 'y') { clear_status(); return; } @@ -1058,13 +1008,9 @@ void abort_mined(void) /* Reset terminal */ raw_mode(OFF); set_cursor(0, ymax); - putchar('\n'); + putch('\n'); flush(); -#ifdef UNIX abort(); -#else - exit(1); -#endif /* UNIX */ } #define UNDEF _POSIX_VDISABLE @@ -1109,12 +1055,8 @@ void panic(register char *message) { extern char yank_file[]; -#ifdef UNIX - tputs(CL, 0, _putchar); + tputs(CL, 0, _putch); build_string(text_buffer, "%s\nError code %d\n", message, errno); -#else - build_string(text_buffer, "%s%s\nError code %d\n", enter_string, message, errno); -#endif /* UNIX */ (void) write(STD_OUT, text_buffer, length_of(text_buffer)); if (loading == FALSE) @@ -1123,11 +1065,7 @@ void panic(register char *message) (void) unlink(yank_file); raw_mode(OFF); -#ifdef UNIX abort(); -#else - exit(1); -#endif /* UNIX */ } char *alloc(int bytes) @@ -1197,16 +1135,7 @@ char file_name[LINE_LEN]; /* Name of file in use */ char text_buffer[MAX_CHARS]; /* Buffer for modifying text */ /* Escape sequences. */ -#ifdef UNIX char *CE, *VS, *SO, *SE, *CL, *AL, *CM; -#else -char *enter_string = "\033[H\033[J"; /* String printed on entering mined */ -char *pos_string = "\033[%d;%dH"; /* Absolute cursor position */ -char *rev_scroll = "\033M"; /* String for reverse scrolling */ -char *rev_video = "\033[7m"; /* String for starting reverse video */ -char *normal_video = "\033[m"; /* String for leaving reverse video */ -char *blank_line = "\033[K"; /* Clear line to end */ -#endif /* UNIX */ /* * Yank variables. @@ -1385,13 +1314,9 @@ int main(int argc, char *argv[]) register int index; /* Index in key table */ struct winsize winsize; -#ifdef UNIX get_term(); - tputs(VS, 0, _putchar); - tputs(CL, 0, _putchar); -#else - string_print(enter_string); /* Hello world */ -#endif /* UNIX */ + tputs(VS, 0, _putch); + tputs(CL, 0, _putch); if (ioctl(STD_OUT, TIOCGWINSZ, &winsize) == 0 && winsize.ws_row != 0) { ymax = winsize.ws_row - 1; screenmax = ymax - 1; @@ -1423,7 +1348,7 @@ int main(int argc, char *argv[]) /* Main loop of the editor. */ for (;;) { - index = getchar(); + index = getch(); if (stat_visible == TRUE) clear_status(); if (quit == TRUE) @@ -1448,23 +1373,15 @@ int main(int argc, char *argv[]) void RD(void) { /* Clear screen */ -#ifdef UNIX - tputs(VS, 0, _putchar); - tputs(CL, 0, _putchar); -#else - string_print(enter_string); -#endif /* UNIX */ + tputs(VS, 0, _putch); + tputs(CL, 0, _putch); /* Print first page */ display(0, 0, top_line, last_y); /* Clear last line */ set_cursor(0, ymax); -#ifdef UNIX - tputs(CE, 0, _putchar); -#else - string_print(blank_line); -#endif /* UNIX */ + tputs(CE, 0, _putch); move_to(x, y); } @@ -1485,7 +1402,7 @@ void XT(void) raw_mode(OFF); set_cursor(0, ymax); - putchar('\n'); + putch('\n'); flush(); (void) unlink(yank_file); /* Might not be necessary */ exit(0); @@ -1495,13 +1412,13 @@ void (*escfunc(int c))(void) { if (c == '[') { /* Start of ASCII escape sequence. */ - c = getchar(); + c = getch(); switch (c) { case 'H': return(HO); - case 'A': return(UP); - case 'B': return(DN); - case 'C': return(RT); - case 'D': return(LF); + case 'A': return(UP1); + case 'B': return(DN1); + case 'C': return(RT1); + case 'D': return(LF1); case '@': return(MA); case 'G': return(FS); case 'S': return(SR); @@ -1526,11 +1443,11 @@ void ESC(void) register void (*func)(); int index; - index = getchar(); + index = getch(); while (index >= '0' && index <= '9' && quit == FALSE) { count *= 10; count += index - '0'; - index = getchar(); + index = getch(); } if (count == 0) { count = 1; @@ -1538,7 +1455,7 @@ void ESC(void) } else { func = key_map[index]; if (func == ESC) - func = escfunc(getchar()); + func = escfunc(getch()); } if (func == I) { /* Function assigned? */ @@ -1567,7 +1484,7 @@ int ask_save(void) status_line(file_name[0] ? basename(file_name) : "[buffer]" , " has been modified. Save? (y/n)"); - while((c = getchar()) != 'y' && c != 'n' && quit == FALSE) { + while((c = getch()) != 'y' && c != 'n' && quit == FALSE) { ring_bell(); flush(); } @@ -1723,7 +1640,7 @@ int get_number(char *message, int *result) status_line(message, NULL); - index = getchar(); + index = getch(); if (quit == FALSE && (index < '0' || index > '9')) { error("Bad count", NULL); return ERRORS; @@ -1733,7 +1650,7 @@ int get_number(char *message, int *result) while (index >= '0' && index <= '9' && quit == FALSE) { count *= 10; count += index - '0'; - index = getchar(); + index = getch(); } if (quit == TRUE) { @@ -1759,24 +1676,16 @@ int input(char *inbuf, FLAG clearfl) *ptr = '\0'; while (quit == FALSE) { flush(); - switch (c = getchar()) { + switch (c = getch()) { case '\b' : /* Erase previous char */ if (ptr > inbuf) { ptr--; -#ifdef UNIX - tputs(SE, 0, _putchar); -#else - string_print(normal_video); -#endif /* UNIX */ + tputs(SE, 0, _putch); if (is_tab(*ptr)) string_print(" \b\b\b \b\b"); else string_print(" \b\b \b"); -#ifdef UNIX - tputs(SO, 0, _putchar); -#else - string_print(rev_video); -#endif /* UNIX */ + tputs(SO, 0, _putch); string_print(" \b"); *ptr = '\0'; } @@ -1793,7 +1702,7 @@ int input(char *inbuf, FLAG clearfl) if (c == '\t') string_print("^I"); else - putchar(c); + putch(c); string_print(" \b"); } else @@ -1824,10 +1733,7 @@ int get_file(char *message, char *file) * UNIX I/O Routines * * ======================================================================== */ -#ifdef UNIX -#undef putchar - -int _getchar(void) +int _getch(void) { char c; @@ -1841,9 +1747,12 @@ void _flush(void) (void) fflush(stdout); } -void _putchar(char c) +int _putch(int c) { - (void) write_char(STD_OUT, c); + if (write_char(STD_OUT, c) == FINE) + return c; + else + return EOF; } void get_term(void) @@ -1873,4 +1782,3 @@ void get_term(void) exit(1); } } -#endif /* UNIX */ diff --git a/minix/commands/mined/mined2.c b/minix/commands/mined/mined2.c index 73059e250..4fab57b12 100644 --- a/minix/commands/mined/mined2.c +++ b/minix/commands/mined/mined2.c @@ -12,7 +12,7 @@ /* * Move one line up. */ -void UP(void) +void UP1(void) { if (y == 0) { /* Top line of screen. Scroll one line */ (void) reverse_scroll(); @@ -25,12 +25,12 @@ void UP(void) /* * Move one line down. */ -void DN(void) +void DN1(void) { if (y == last_y) { /* Last line of screen. Scroll one line */ if (bot_line->next == tail && bot_line->text[0] != '\n') { dummy_line(); /* Create new empty line */ - DN(); + DN1(); return; } else { @@ -45,11 +45,11 @@ void DN(void) /* * Move left one position. */ -void LF(void) +void LF1(void) { if (x == 0 && get_shift(cur_line->shift_count) == 0) {/* Begin of line */ if (cur_line->prev != header) { - UP(); /* Move one line up */ + UP1(); /* Move one line up */ move_to(LINE_END, y); } } @@ -60,11 +60,11 @@ void LF(void) /* * Move right one position. */ -void RT(void) +void RT1(void) { if (*cur_text == '\n') { if (cur_line->next != tail) { /* Last char of file */ - DN(); /* Move one line down */ + DN1(); /* Move one line down */ move_to(LINE_START, y); } } @@ -154,11 +154,7 @@ void PU(void) if (reverse_scroll() == ERRORS) break; /* Top of file reached */ set_cursor(0, ymax); /* Erase very bottom line */ -#ifdef UNIX - tputs(CE, 0, _putchar); -#else - string_print(blank_line); -#endif /* UNIX */ + tputs(CE, 0, _putch); if (y + i > screenmax) /* line no longer on screen */ move_to(0, screenmax >> 1); else @@ -205,11 +201,7 @@ void SU(void) (void) reverse_scroll(); set_cursor(0, ymax); /* Erase very bottom line */ -#ifdef UNIX - tputs(CE, 0, _putchar); -#else - string_print(blank_line); -#endif /* UNIX */ + tputs(CE, 0, _putch); move_to(x, (y == screenmax) ? screenmax : y + 1); } @@ -259,11 +251,7 @@ int reverse_scroll(void) /* Perform the scroll */ set_cursor(0, 0); -#ifdef UNIX - tputs(AL, 0, _putchar); -#else - string_print(rev_scroll); -#endif /* UNIX */ + tputs(AL, 0, _putch); set_cursor(0, 0); line_print(top_line); @@ -298,7 +286,7 @@ void move_previous_word(FLAG remove) start_char = '\0'; } - LF(); + LF1(); begin_line = cur_line->text; textp = cur_text; @@ -352,7 +340,7 @@ void move_next_word(FLAG remove) /* If we're at end of line. move to the first word on the next line. */ if (*textp == '\n' && cur_line->next != tail) { - DN(); + DN1(); move_to(LINE_START, y); textp = cur_text; while (*textp != '\n' && white_space(*textp)) @@ -389,7 +377,7 @@ void DPC(void) if (x == 0 && cur_line->prev == header) return; /* Top of file */ - LF(); /* Move one left */ + LF1(); /* Move one left */ DCC(); /* Delete character under cursor */ } @@ -469,7 +457,7 @@ void CTL(void) register char ctrl; status_line("Enter control character.", NULL); - if ((ctrl = getchar()) >= '\01' && ctrl <= '\037') { + if ((ctrl = getch()) >= '\01' && ctrl <= '\037') { S(ctrl); /* Insert the char */ clear_status(); } @@ -484,7 +472,7 @@ void CTL(void) void LIB(void) { S('\n'); /* Insert the line */ - UP(); /* Move one line up */ + UP1(); /* Move one line up */ move_to(LINE_END, y); /* Move to end of this line */ } From ea0db7667a27ab9b9b8b491b373477f0bde6e86c Mon Sep 17 00:00:00 2001 From: Thomas Cort Date: Wed, 25 Mar 2015 14:34:14 -0400 Subject: [PATCH 2/5] mined.h: use '\a' instead of ascii code for bell. Makes the code slightly more portable and readable. --- minix/commands/mined/mined.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minix/commands/mined/mined.h b/minix/commands/mined/mined.h index 0832988eb..6b1f884a8 100644 --- a/minix/commands/mined/mined.h +++ b/minix/commands/mined/mined.h @@ -151,7 +151,7 @@ extern long chars_saved; /* Nr of chars saved in buffer */ /* * Ring bell on terminal */ -#define ring_bell() putch('\07') +#define ring_bell() putch('\a') /* * Print string on terminal From 0f49c4caafa97c66ef50e5124848d7736fb840d0 Mon Sep 17 00:00:00 2001 From: Thomas Cort Date: Wed, 25 Mar 2015 14:48:08 -0400 Subject: [PATCH 3/5] mined: remove !__STDC__ code blocks. __STDC__ is used to mitigate the differences between K&R C and the ANSI C standard. Nearly every compiler now supports ANSI C, so there is no need to support non-standard compilers. --- minix/commands/mined/mined.h | 4 ---- minix/commands/mined/mined1.c | 13 ------------- 2 files changed, 17 deletions(-) diff --git a/minix/commands/mined/mined.h b/minix/commands/mined/mined.h index 6b1f884a8..b8a53cee0 100644 --- a/minix/commands/mined/mined.h +++ b/minix/commands/mined/mined.h @@ -258,11 +258,7 @@ int ask_save(void); int line_number(void); void file_status(char *message, long count, char *file, int lines, FLAG writefl, FLAG changed ); -#if __STDC__ void build_string(char *buf, char *fmt, ...); -#else -void build_string(); -#endif char *num_out(long number ); int get_number(char *message, int *result ); int input(char *inbuf, FLAG clearfl ); diff --git a/minix/commands/mined/mined1.c b/minix/commands/mined/mined1.c index de8bd6d1f..043f434c9 100644 --- a/minix/commands/mined/mined1.c +++ b/minix/commands/mined/mined1.c @@ -411,11 +411,7 @@ #include #include #include -#if __STDC__ #include -#else -#include -#endif extern int errno; int ymax = YMAX; @@ -1557,21 +1553,12 @@ void file_status(char *message, register long count, char *file, int lines, * Build_string() prints the arguments as described in fmt, into the buffer. * %s indicates an argument string, %d indicated an argument number. */ -#if __STDC__ void build_string(char *buf, char *fmt, ...) { -#else -void build_string(char *buf, char *fmt, va_dcl va_alist) -{ -#endif va_list argptr; char *scanp; -#if __STDC__ va_start(argptr, fmt); -#else - va_start(argptr); -#endif while (*fmt) { if (*fmt == '%') { From 25e5eefaa1ad8317d00b36ab61ababc9edb6e8d4 Mon Sep 17 00:00:00 2001 From: Thomas Cort Date: Wed, 25 Mar 2015 14:51:18 -0400 Subject: [PATCH 4/5] mined: move to minix/usr.bin/mined As suggested in issue #43. Historic Locations: Prior to this commit minix/commands/mined Prior to commit 433d6423c39e34ec4b79c950597bb2d236f886be commands --- minix/commands/Makefile | 1 - minix/usr.bin/Makefile | 1 + minix/{commands => usr.bin}/mined/Makefile | 0 minix/{commands => usr.bin}/mined/mined.1 | 0 minix/{commands => usr.bin}/mined/mined.h | 0 minix/{commands => usr.bin}/mined/mined1.c | 0 minix/{commands => usr.bin}/mined/mined2.c | 0 7 files changed, 1 insertion(+), 1 deletion(-) rename minix/{commands => usr.bin}/mined/Makefile (100%) rename minix/{commands => usr.bin}/mined/mined.1 (100%) rename minix/{commands => usr.bin}/mined/mined.h (100%) rename minix/{commands => usr.bin}/mined/mined1.c (100%) rename minix/{commands => usr.bin}/mined/mined2.c (100%) diff --git a/minix/commands/Makefile b/minix/commands/Makefile index 5f50a1ca5..4b845747d 100644 --- a/minix/commands/Makefile +++ b/minix/commands/Makefile @@ -15,7 +15,6 @@ SUBDIR= add_route arp at backup btrace \ intr ipcrm ipcs irdpd isoread \ loadkeys loadramdisk logger look lp \ lpd lspci mail MAKEDEV \ - mined \ mount mt netconf \ nonamed \ postinstall prep printroot \ diff --git a/minix/usr.bin/Makefile b/minix/usr.bin/Makefile index 660309d14..4a115a3f8 100644 --- a/minix/usr.bin/Makefile +++ b/minix/usr.bin/Makefile @@ -5,6 +5,7 @@ SUBDIR+= eepromread .endif # ${MACHINE_ARCH} == "earm" SUBDIR+= grep +SUBDIR+= mined SUBDIR+= ministat SUBDIR+= top SUBDIR+= toproto diff --git a/minix/commands/mined/Makefile b/minix/usr.bin/mined/Makefile similarity index 100% rename from minix/commands/mined/Makefile rename to minix/usr.bin/mined/Makefile diff --git a/minix/commands/mined/mined.1 b/minix/usr.bin/mined/mined.1 similarity index 100% rename from minix/commands/mined/mined.1 rename to minix/usr.bin/mined/mined.1 diff --git a/minix/commands/mined/mined.h b/minix/usr.bin/mined/mined.h similarity index 100% rename from minix/commands/mined/mined.h rename to minix/usr.bin/mined/mined.h diff --git a/minix/commands/mined/mined1.c b/minix/usr.bin/mined/mined1.c similarity index 100% rename from minix/commands/mined/mined1.c rename to minix/usr.bin/mined/mined1.c diff --git a/minix/commands/mined/mined2.c b/minix/usr.bin/mined/mined2.c similarity index 100% rename from minix/commands/mined/mined2.c rename to minix/usr.bin/mined/mined2.c From 3ec8e5cd4e7d2f43a5f8459fc4c70f9d7bd050fe Mon Sep 17 00:00:00 2001 From: Thomas Cort Date: Wed, 25 Mar 2015 15:46:00 -0400 Subject: [PATCH 5/5] mined: increase the size of the buffer passed to tgetent(). From the termcap section of the GNU termutils manual: "There is no way you can tell how much space is needed, so the convention is to allocate a buffer 2048 characters long and assume that is enough. (Formerly the convention was to allocate 1024 characters and assume that was enough. But one day, for one kind of terminal, that was not enough.)" --- minix/usr.bin/mined/mined1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minix/usr.bin/mined/mined1.c b/minix/usr.bin/mined/mined1.c index 043f434c9..bcc8447a9 100644 --- a/minix/usr.bin/mined/mined1.c +++ b/minix/usr.bin/mined/mined1.c @@ -1747,7 +1747,7 @@ void get_term(void) static char termbuf[50]; extern char *tgetstr(), *getenv(); char *loc = termbuf; - char entry[1024]; + char entry[2048]; if (tgetent(entry, getenv("TERM")) <= 0) { printf("Unknown terminal.\n");