diff options
author | alejandro-colomar <colomar.6.4.3@gmail.com> | 2019-06-04 01:31:36 +0200 |
---|---|---|
committer | alejandro-colomar <colomar.6.4.3@gmail.com> | 2019-06-04 01:31:36 +0200 |
commit | 471c7f0313eaa28872d72801d7139f776c1e1b91 (patch) | |
tree | a967389f5123dbb53a0bbf9d66014268a12c3e13 | |
parent | 307437931a089311bd9270ac76ed9692f03f84b1 (diff) |
Use less to display files
-rw-r--r-- | inc/vision-artificial/about/about.h | 4 | ||||
-rw-r--r-- | inc/vision-artificial/about/about.hpp | 2 | ||||
m--------- | libalx | 0 | ||||
-rw-r--r-- | src/about/about.c | 64 | ||||
-rw-r--r-- | src/main.cpp | 1 | ||||
-rw-r--r-- | src/menu/tui.c | 13 | ||||
-rw-r--r-- | tmp/Makefile | 30 | ||||
-rw-r--r-- | tmp/about/Makefile | 3 |
8 files changed, 48 insertions, 69 deletions
diff --git a/inc/vision-artificial/about/about.h b/inc/vision-artificial/about/about.h index 4faa574..70a9f9c 100644 --- a/inc/vision-artificial/about/about.h +++ b/inc/vision-artificial/about/about.h @@ -45,15 +45,13 @@ enum Share_File { /****************************************************************************** ******* variables ************************************************************ ******************************************************************************/ -extern char share_path [FILENAME_MAX]; +extern char share_path[FILENAME_MAX]; /****************************************************************************** ******* extern functions ***************************************************** ******************************************************************************/ void about_init (void); -void snprint_share_file (ptrdiff_t size, char buff[restrict size], - int file); void print_share_file (int share_file); void print_version (void); diff --git a/inc/vision-artificial/about/about.hpp b/inc/vision-artificial/about/about.hpp index 1970a2b..d4f34b1 100644 --- a/inc/vision-artificial/about/about.hpp +++ b/inc/vision-artificial/about/about.hpp @@ -56,8 +56,6 @@ extern char share_path [FILENAME_MAX]; extern "C" { void about_init (void); -void snprint_share_file (ptrdiff_t size, char *restrict buff, - int file); void print_share_file (int share_file); void print_version (void); } diff --git a/libalx b/libalx -Subproject 389e64af6758a2976ac32b2ecec3cd1ed9e08d5 +Subproject 60fdf5f81261b8f1b7f8c342aa866a1f85698b7 diff --git a/src/about/about.c b/src/about/about.c index 60f5104..b9a347d 100644 --- a/src/about/about.c +++ b/src/about/about.c @@ -10,20 +10,17 @@ #include "vision-artificial/about/about.h" #include <errno.h> -#include <stddef.h> +#include <limits.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> -#include "libalx/base/errno/errno_str.h" -#include "libalx/base/stdio/sprint_file.h" +#include "libalx/base/stddef/size.h" /****************************************************************************** ******* macros *************************************************************** ******************************************************************************/ -#define BUFF_SIZE_TEXT (0xFFFF) /* 64 KiB */ -#define BEGINNING "\n┌──────────────────────────────────────────────────────────────────────────────┐\n" -#define ENDING "└──────────────────────────────────────────────────────────────────────────────┘\n\n" /****************************************************************************** @@ -53,8 +50,8 @@ char share_path [FILENAME_MAX]; void about_init (void) { - if (snprintf(share_path, FILENAME_MAX, "%s/estadistica/", - INSTALL_SHARE_DIR) >= FILENAME_MAX) { + if (snprintf(share_path, FILENAME_MAX, "%s/vision-artificial/", + INSTALL_SHARE_DIR) >= SSIZEOF(share_path)) { goto err; } return; @@ -63,74 +60,67 @@ err: exit(EXIT_FAILURE); } -void snprint_share_file (ptrdiff_t size, char buff[restrict size], - int file) +void print_share_file (int file) { - char fname [FILENAME_MAX]; + char fname[FILENAME_MAX]; + char cmd[_POSIX_ARG_MAX]; switch (file) { case SHARE_COPYRIGHT: - if (snprintf(fname, FILENAME_MAX, "%s/%s", + if (snprintf(fname, sizeof(fname), "%s/%s", share_path, - "COPYRIGHT.txt") >= FILENAME_MAX) { + "COPYRIGHT.txt") >= SSIZEOF(fname)) { goto err; } break; case SHARE_DISCLAIMER: - if (snprintf(fname, FILENAME_MAX, "%s/%s", + if (snprintf(fname, sizeof(fname), "%s/%s", share_path, - "DISCLAIMER.txt") >= FILENAME_MAX) { + "DISCLAIMER.txt") >= SSIZEOF(fname)) { goto err; } break; case SHARE_HELP: - if (snprintf(fname, FILENAME_MAX, "%s/%s", + if (snprintf(fname, sizeof(fname), "%s/%s", share_path, - "HELP.txt") >= FILENAME_MAX) { + "HELP.txt") >= SSIZEOF(fname)) { goto err; } break; case SHARE_LICENSE: - if (snprintf(fname, FILENAME_MAX, "%s/%s", + if (snprintf(fname, sizeof(fname), "%s/%s", share_path, - "LICENSE.txt") >= FILENAME_MAX) { + "LICENSE.txt") >= SSIZEOF(fname)) { goto err; } break; case SHARE_USAGE: - if (snprintf(fname, FILENAME_MAX, "%s/%s", + if (snprintf(fname, sizeof(fname), "%s/%s", share_path, - "USAGE.txt") >= FILENAME_MAX) { + "USAGE.txt") >= SSIZEOF(fname)) { goto err; } break; } - if (alx_snprint_file(size, buff, fname) < 0) - printf("%s: %s\n", errno_str[errno][0], errno_str[errno][1]); + if (snprintf(cmd, sizeof(cmd), "less %s", fname) >= SSIZEOF(cmd)) + goto err; + if (system(cmd)) { + fprintf(stderr, "%s:%i: %s(): %s", __FILE__, __LINE__, __func__, + strerror(errno)); + } return; err: - printf("Path is too large and has been truncated\n"); - printf("File could not be shown!\n"); -} - -void print_share_file (int file) -{ - char str [BUFF_SIZE_TEXT]; - - snprint_share_file(BUFF_SIZE_TEXT, str, file); - - printf(BEGINNING); - printf("%s", str); - printf(ENDING); + fprintf(stderr, "Path is too large and has been truncated\n"); + fprintf(stderr, "File could not be shown!\n"); } void print_version (void) { - printf(""PROG_NAME" "PROG_VERSION"\n\n"); + printf("%s %s\n\n", PROG_NAME, PROG_VERSION); } diff --git a/src/main.cpp b/src/main.cpp index 5abfb20..ffb519d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -40,7 +40,6 @@ int main (int argc, char *argv[]) init(argc, argv); print_share_file(SHARE_COPYRIGHT); - alx_wait4enter(); menu_iface(); diff --git a/src/menu/tui.c b/src/menu/tui.c index 6c0620e..775cdc6 100644 --- a/src/menu/tui.c +++ b/src/menu/tui.c @@ -92,15 +92,11 @@ void menu_tui (void) case 2: alx_ncurses_pause(); print_share_file(SHARE_DISCLAIMER); - printf("Press ENTER to continue"); - alx_wait4enter(); alx_ncurses_resume(); break; case 3: alx_ncurses_pause(); print_share_file(SHARE_LICENSE); - printf("Press ENTER to continue"); - alx_wait4enter(); alx_ncurses_resume(); break; } @@ -146,8 +142,7 @@ static void menu_continue (void) win = newwin(h, w, r, c); mvwprintw(win, mnu[1].r, mnu[1].c, "%s (File: \"%s\")", mnu[1].t, saved_name); - sw = alx_ncurses_w_menu(win, ARRAY_SIZE(mnu), mnu, - "CONTINUE:"); + sw = alx_ncurses_w_menu(win, ARRAY_SIZE(mnu), mnu, "CONTINUE:"); switch (sw) { case 0: @@ -157,6 +152,8 @@ static void menu_continue (void) alx_ncurses_delwin(win); alx_ncurses_pause(); start_switch(); + printf("Press ENTER to continue"); + alx_wait4enter(); alx_ncurses_resume(); break; case 2: @@ -201,11 +198,11 @@ static void menu_select (void) switch (sw) { case 1: - start_mode = START_SINGLE; + start_mode = START_SINGLE; break; case 2: - start_mode = START_SERIES; + start_mode = START_SERIES; break; } diff --git a/tmp/Makefile b/tmp/Makefile index b37e1d9..a944041 100644 --- a/tmp/Makefile +++ b/tmp/Makefile @@ -37,38 +37,38 @@ all: $(OBJ) about ctrl image menu proc save user PHONY += about about: - @echo " MAKE tmp/about" - $(Q)$(MAKE) -C $(TMP_DIR)/about/ + @echo " MAKE tmp/$@" + $(Q)$(MAKE) -C $(TMP_DIR)/$@/ PHONY += ctrl ctrl: - @echo " MAKE tmp/ctrl" - $(Q)$(MAKE) -C $(TMP_DIR)/ctrl/ + @echo " MAKE tmp/$@" + $(Q)$(MAKE) -C $(TMP_DIR)/$@/ PHONY += image image: - @echo " MAKE tmp/image" - $(Q)$(MAKE) -C $(TMP_DIR)/image/ + @echo " MAKE tmp/$@" + $(Q)$(MAKE) -C $(TMP_DIR)/$@/ PHONY += menu menu: - @echo " MAKE tmp/menu" - $(Q)$(MAKE) -C $(TMP_DIR)/menu/ + @echo " MAKE tmp/$@" + $(Q)$(MAKE) -C $(TMP_DIR)/$@/ PHONY += proc proc: - @echo " MAKE tmp/proc" - $(Q)$(MAKE) -C $(TMP_DIR)/proc/ + @echo " MAKE tmp/$@" + $(Q)$(MAKE) -C $(TMP_DIR)/$@/ PHONY += save save: - @echo " MAKE tmp/save" - $(Q)$(MAKE) -C $(TMP_DIR)/save/ + @echo " MAKE tmp/$@" + $(Q)$(MAKE) -C $(TMP_DIR)/$@/ PHONY += user user: - @echo " MAKE tmp/user" - $(Q)$(MAKE) -C $(TMP_DIR)/user/ + @echo " MAKE tmp/$@" + $(Q)$(MAKE) -C $(TMP_DIR)/$@/ main.s: $(MAIN_SRC) $(MAIN_INC) @@ -89,8 +89,6 @@ clean: .PHONY: $(PHONY) - - ################################################################################ ######## End of file ########################################################### ################################################################################ diff --git a/tmp/about/Makefile b/tmp/about/Makefile index 36f47a2..bf3e3d2 100644 --- a/tmp/about/Makefile +++ b/tmp/about/Makefile @@ -17,8 +17,7 @@ OBJ = \ ABOUT_INC = \ $(INC_DIR)/vision-artificial/about/about.h \ - $(LIBALX_INC_DIR)/libalx/base/errno/errno_str.h \ - $(LIBALX_INC_DIR)/libalx/base/stdio/sprint_file.h + $(LIBALX_INC_DIR)/libalx/base/stddef/size.h ABOUT_SRC = \ $(SRC_DIR)/about/about.c |