summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralejandro-colomar <colomar.6.4.3@gmail.com>2019-06-04 01:31:36 +0200
committeralejandro-colomar <colomar.6.4.3@gmail.com>2019-06-04 01:31:36 +0200
commit471c7f0313eaa28872d72801d7139f776c1e1b91 (patch)
treea967389f5123dbb53a0bbf9d66014268a12c3e13
parent307437931a089311bd9270ac76ed9692f03f84b1 (diff)
Use less to display files
-rw-r--r--inc/vision-artificial/about/about.h4
-rw-r--r--inc/vision-artificial/about/about.hpp2
m---------libalx0
-rw-r--r--src/about/about.c64
-rw-r--r--src/main.cpp1
-rw-r--r--src/menu/tui.c13
-rw-r--r--tmp/Makefile30
-rw-r--r--tmp/about/Makefile3
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