Skip to content

Commit

Permalink
Cleanup compiler issues for ansi.c.
Browse files Browse the repository at this point in the history
  • Loading branch information
SirWumpus committed Jul 12, 2024
1 parent b7bd624 commit dcc83d2
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 43 deletions.
85 changes: 43 additions & 42 deletions tools/ansi.c
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
/*
* ansi.c
*
* Copyright 2003, 2022 by Anthony Howe. All rights reserved.
* Copyright 2003, 2024 by Anthony Howe. All rights reserved.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stddef.h>

char usage[] =
const char usage[] =
"\033[1musage: ansi word ...\033[0m\n"

"\n"
Expand Down Expand Up @@ -105,27 +106,27 @@ char usage[] =
"backslash (\\) are treated as a literal word. Some ANSI terminal\n"
"emulators do not support all possible escape sequences.\n"
"\n"
"\033[1mansi/1.2 Copyright 2003, 2022 by Anthony Howe. All rights reserved.\033[0m\n"
"\033[1mansi/1.2 Copyright 2003, 2024 by Anthony Howe. All rights reserved.\033[0m\n"
;

int
ansi(char *once, char *many, char *value)
ansi(const char *once, const char *many, const char *value)
{
char *stop;
long number;

if (value == (char *) 0) {
printf(once);
(void) printf(once);
return 0;
}

number = strtol(value, &stop, 10);
if (*stop != '\0' || number < 1) {
printf(once);
(void) printf(once);
return 0;
}

printf(many, number);
(void) printf(many, number);

return 1;
}
Expand Down Expand Up @@ -193,7 +194,7 @@ char *single[][2] = {
void
atExit()
{
system("stty -cbreak");
(void) system("stty -cbreak");
}

int
Expand All @@ -204,14 +205,14 @@ main(int argc, char **argv)
int i, last_literal_word;

if (argc < 2) {
fprintf(stderr, usage);
(void) fprintf(stderr, usage);
return 2;
}

last_literal_word = -1;

atexit(atExit);
system("stty cbreak");
(void) atexit(atExit);
(void) system("stty cbreak");

for (i = 1; i < argc; i++) {
word = argv[i];
Expand All @@ -230,7 +231,7 @@ main(int argc, char **argv)
if (*stop != '\0' || b < 1)
return 1;

printf("\033[%ld;%ldH", a, b);
(void) printf("\033[%ld;%ldH", a, b);
i += 2;
continue;
} else if (strcmp(word, "up") == 0) {
Expand Down Expand Up @@ -258,17 +259,17 @@ main(int argc, char **argv)
word = argv[i];

if (strcmp(word, "down") == 0)
printf("\033[J");
(void) printf("\033[J");
else if (strcmp(word, "up") == 0)
printf("\033[1J");
(void) printf("\033[1J");
else if (strcmp(word, "screen") == 0)
printf("\033[2J");
(void) printf("\033[2J");
else if (strcmp(word, "right") == 0)
printf("\033[K");
(void) printf("\033[K");
else if (strcmp(word, "left") == 0)
printf("\033[1K");
(void) printf("\033[1K");
else if (strcmp(word, "line") == 0)
printf("\033[2K");
(void) printf("\033[2K");
else
return 1;
continue;
Expand All @@ -279,9 +280,9 @@ main(int argc, char **argv)
word = argv[i];

if (strcmp(word, "on") == 0)
printf("\033[7h");
(void) printf("\033[7h");
else if (strcmp(word, "off") == 0)
printf("\033[7l");
(void) printf("\033[7l");
else
return 1;
continue;
Expand All @@ -292,9 +293,9 @@ main(int argc, char **argv)
word = argv[i];

if (strcmp(word, "screen") == 0)
printf("\033[i");
(void) printf("\033[i");
else if (strcmp(word, "line") == 0)
printf("\033[1i");
(void) printf("\033[1i");
else
return 1;
continue;
Expand All @@ -305,9 +306,9 @@ main(int argc, char **argv)
word = argv[i];

if (strcmp(word, "start") == 0)
printf("\033[5i");
(void) printf("\033[5i");
else if (strcmp(word, "stop") == 0)
printf("\033[4i");
(void) printf("\033[4i");
else
return 1;
continue;
Expand All @@ -318,9 +319,9 @@ main(int argc, char **argv)
word = argv[i];

if (strcmp(word, "default") == 0)
printf("\033(");
(void) printf("\033(");
else if (strcmp(word, "other") == 0)
printf("\033)");
(void) printf("\033)");
else
return 1;
continue;
Expand All @@ -331,11 +332,11 @@ main(int argc, char **argv)
word = argv[i];

if (strcmp(word, "on") == 0)
printf("\033H");
(void) printf("\033H");
else if (strcmp(word, "off") == 0)
printf("\033[g");
(void) printf("\033[g");
else if (strcmp(word, "clear") == 0)
printf("\033[3g");
(void) printf("\033[3g");
else if (ansi("\t", "\033[%ldI", word) == 0)
i--;

Expand All @@ -350,11 +351,11 @@ main(int argc, char **argv)
word = argv[i];

if (strcmp(word, "down") == 0)
printf("\033D");
(void) printf("\033D");
else if (strcmp(word, "up") == 0)
printf("\033U");
(void) printf("\033U");
else if (strcmp(word, "display") == 0)
printf("\033[r");
(void) printf("\033[r");
else {
a = strtol(word, &stop, 10);
if (*stop != '\0' || a < 1)
Expand All @@ -370,26 +371,26 @@ main(int argc, char **argv)
if (b <= a)
return 1;

printf("\033[%ld;%ldr", a, b);
(void) printf("\033[%ld;%ldr", a, b);
}
continue;
} else if (strcmp(word, "where") == 0) {
int row, col;

printf("\033[6n");
scanf("\033[%d;%dR", &row, &col);
printf("(%d, %d)", row, col);
fflush(stdout);
(void) printf("\033[6n");
(void) scanf("\033[%d;%dR", &row, &col);
(void) printf("(%d, %d)", row, col);
(void) fflush(stdout);
continue;
} else if (strcmp(word, "-?") == 0 || strcmp(word, "--help") == 0 || strcmp(word, "help") == 0) {
fprintf(stderr, usage);
(void) fprintf(stderr, usage);
return 2;
} else {
char *(*p)[2];

for (p = single; (*p)[0] != (char *) 0; p++) {
if (strcmp(word, (*p)[1]) == 0) {
printf((*p)[0]);
(void) printf((*p)[0]);
break;
}
}
Expand All @@ -399,12 +400,12 @@ main(int argc, char **argv)
}

if (last_literal_word + 1 == i)
fputc(' ', stdout);
(void) fputc(' ', stdout);
last_literal_word = i;
fputs(word, stdout);
(void) fputs(word, stdout);
}

fflush(stdout);
(void) fflush(stdout);

return 0;
}
Expand Down
2 changes: 1 addition & 1 deletion tools/makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ sechod$E : ${top_builddir}/io/socket3$O ${top_builddir}/io/socket3_tls$O sechod.
$(CC) ${CFLAGS_SSL} $(CFLAGS) ${LDFLAGS_SSL} $(LDFLAGS) $(CC_E)sechod$E ${srcdir}/sechod.c $(LIBSNERT) ${LIBS_SSL} $(LIBS) ${NETWORK_LIBS}

ansi$E : ansi.c
$(CC) $(CFLAGS) $(LDFLAGS) $(CC_E)ansi$E ${srcdir}/ansi.c
$(CC) $(CFLAGS) -Wno-format-security $(LDFLAGS) $(CC_E)ansi$E ${srcdir}/ansi.c

pad$E : pad.c
$(CC) $(CFLAGS) $(LDFLAGS) $(CC_E)pad$E ${srcdir}/pad.c
Expand Down

0 comments on commit dcc83d2

Please sign in to comment.