From e5dab58412dc443451a2ee077c0958b06d111424 Mon Sep 17 00:00:00 2001 From: josuah Date: Sun, 20 Nov 2016 00:08:57 +0100 Subject: [PATCH] Simplified, hopefully cleaner --- buffer.c | 11 +++-------- buffer.h | 10 ---------- config.h | 1 - draw.c | 13 ++++++------- draw.h | 7 ------- input.c | 6 ++---- input.h | 8 -------- main.c | 5 +---- main.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++---- util.c | 5 ++--- util.h | 17 ----------------- 11 files changed, 61 insertions(+), 73 deletions(-) delete mode 100644 buffer.h delete mode 100644 config.h delete mode 100644 draw.h delete mode 100644 input.h delete mode 100644 util.h diff --git a/buffer.c b/buffer.c index fa5ba92..aaba16f 100644 --- a/buffer.c +++ b/buffer.c @@ -4,8 +4,6 @@ #include #include "main.h" -#include "util.h" -#include "buffer.h" /* @@ -149,8 +147,7 @@ parse_line(char *s, char *separator) line->content[pos] = '\0'; /* strip leading whitespaces from line->comment */ - for (pos = 0; isspace(line->comment[pos]); pos++) - ; + for (pos = 0; isspace(line->comment[pos]); pos++); line->comment += pos; return line; @@ -194,8 +191,7 @@ line_match_input(Line *line, char *input, Opt *opt) Line * matching_prev(Line *line) { - while ((line = line->prev) && (!line->matches || line->header)) - ; + while ((line = line->prev) && (!line->matches || line->header)); return line; } @@ -206,7 +202,6 @@ matching_prev(Line *line) Line * matching_next(Line *line) { - while ((line = line->next) && (!line->matches || line->header)) - ; + while ((line = line->next) && (!line->matches || line->header)); return line; } diff --git a/buffer.h b/buffer.h deleted file mode 100644 index 52931ff..0000000 --- a/buffer.h +++ /dev/null @@ -1,10 +0,0 @@ -Buffer * fill_buffer(char *); -void free_buffer(Buffer *); -void free_line(Line *); -Line * add_line(Buffer *, int, char *, char *, Line *); -Line * parse_line(char *, char *); -Line * matching_next(Line *); -Line * matching_prev(Line *); -int line_match_input(Line *, char *, Opt *); -void filter_lines(Buffer *, Opt *); - diff --git a/config.h b/config.h deleted file mode 100644 index 241ca94..0000000 --- a/config.h +++ /dev/null @@ -1 +0,0 @@ -#define LINE_SIZE 1024 diff --git a/draw.c b/draw.c index 9db790b..0a59b14 100644 --- a/draw.c +++ b/draw.c @@ -3,8 +3,7 @@ #include #include -#include "draw.h" -#include "util.h" +#include "main.h" /* @@ -19,7 +18,7 @@ draw_line(Line *line, int current, int cols, Opt *opt) char *comment = expand_tabs(line->comment); /* clean the line and add a small margin */ - fputs("\033[K ", stderr); + fputs("\033[K", stderr); /* line number if option set */ if (opt->line_numbers) { @@ -28,6 +27,8 @@ draw_line(Line *line, int current, int cols, Opt *opt) fprintf(stderr, "%7d\033[0m ", line->number); n += 8; + } else { + fputs(" ", stderr); } /* highlight current line */ @@ -143,10 +144,8 @@ draw_prompt(Buffer *buffer, int cols, Opt *opt) cols--; /* number of digits */ - for (i = matching; i; i /= 10, cols--) - ; - for (i = total; i; i /= 10, cols--) - ; + for (i = matching; i; i /= 10, cols--); + for (i = total; i; i /= 10, cols--); /* 0 also has one digit*/ cols -= !matching ? 1 : 0; diff --git a/draw.h b/draw.h deleted file mode 100644 index a5243c3..0000000 --- a/draw.h +++ /dev/null @@ -1,7 +0,0 @@ -#include "main.h" - -void draw_screen(Buffer *, int, int, Opt *); -void draw_clear(int); -void draw_line(Line *, int, int, Opt *); -void draw_lines(Buffer *, int, int, int, Opt *); -void draw_prompt(Buffer *, int, Opt *); diff --git a/input.c b/input.c index a1e2fb3..d5e163d 100644 --- a/input.c +++ b/input.c @@ -4,10 +4,8 @@ #include #include -#include "input.h" -#include "util.h" -#include "draw.h" -#include "buffer.h" +#include "main.h" + /* * Listen for the user input and call the appropriate functions. diff --git a/input.h b/input.h deleted file mode 100644 index 0b1705a..0000000 --- a/input.h +++ /dev/null @@ -1,8 +0,0 @@ -#include "main.h" - -void input_get(Buffer *, int, int, Opt *); -int input_key(char, Buffer *, Opt *); -void action_jump(Buffer *, int, Opt *); -void action_print_selection(Buffer *, Opt *); -void action_remove_word_input(Buffer *); -void action_add_character(Buffer *, char, Opt *); diff --git a/main.c b/main.c index 4091c4a..58f0fd1 100644 --- a/main.c +++ b/main.c @@ -8,10 +8,7 @@ #include #include "main.h" -#include "util.h" -#include "buffer.h" -#include "draw.h" -#include "input.h" + int main(int argc, char *argv[]) diff --git a/main.h b/main.h index 691016c..3bf12b4 100644 --- a/main.h +++ b/main.h @@ -1,7 +1,13 @@ -#include "config.h" +#define LINE_SIZE 1024 -#ifndef MAIN_H -#define MAIN_H +#define LENGTH(x) (sizeof(x) / sizeof(*x)) +#define CONTROL(char) (char ^ 0x40) +#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) +#define MAX(X, Y) (((X) > (Y)) ? (X) : (Y)) + + +enum { FALSE = 0, TRUE = 1, EXIT = 2 }; +enum { NEXT = 0, PREV = 1, BOTH = 2 }; /* @@ -50,4 +56,41 @@ typedef struct Buffer { Line *last; } Buffer; -#endif + +/* buffer */ + +Buffer * fill_buffer(char *); +void free_buffer(Buffer *); +void free_line(Line *); +Line * add_line(Buffer *, int, char *, char *, Line *); +Line * parse_line(char *, char *); +Line * matching_next(Line *); +Line * matching_prev(Line *); +int line_match_input(Line *, char *, Opt *); +void filter_lines(Buffer *, Opt *); + + +/* draw */ + +void draw_screen(Buffer *, int, int, Opt *); +void draw_clear(int); +void draw_line(Line *, int, int, Opt *); +void draw_lines(Buffer *, int, int, int, Opt *); +void draw_prompt(Buffer *, int, Opt *); + + +/* input */ + +void input_get(Buffer *, int, int, Opt *); +int input_key(char, Buffer *, Opt *); +void action_jump(Buffer *, int, Opt *); +void action_print_selection(Buffer *, Opt *); +void action_remove_word_input(Buffer *); +void action_add_character(Buffer *, char, Opt *); + + +/* util */ + +void die(const char *); +struct termios set_terminal(int); +char * expand_tabs(char *); diff --git a/util.c b/util.c index 3a40436..f1d80f9 100644 --- a/util.c +++ b/util.c @@ -4,7 +4,7 @@ #include #include -#include "util.h" +#include "main.h" /* @@ -32,9 +32,8 @@ set_terminal(int tty_fd) /* set the terminal to send one key at a time. */ /* get the terminal's state */ - if (tcgetattr(tty_fd, &termio_old) < 0) { + if (tcgetattr(tty_fd, &termio_old) < 0) die("Can not get terminal attributes with tcgetattr()."); - } /* create a new modified state by switching the binary flags */ termio_new = termio_old; diff --git a/util.h b/util.h deleted file mode 100644 index ca5ddc2..0000000 --- a/util.h +++ /dev/null @@ -1,17 +0,0 @@ -/* enums */ - -enum { FALSE = 0, TRUE = 1, EXIT = 2 }; -enum { NEXT = 0, PREV = 1, BOTH = 2 }; - -/* macros */ - -#define LENGTH(x) (sizeof(x) / sizeof(*x)) -#define CONTROL(char) (char ^ 0x40) -#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) -#define MAX(X, Y) (((X) > (Y)) ? (X) : (Y)) - -/* functions */ - -void die(const char *); -struct termios set_terminal(int); -char * expand_tabs(char *); -- 2.11.4.GIT