From 39c0cbcc70aff47e17107826aa76cb525c83b122 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Tue, 9 Jul 2019 16:00:48 -0400 Subject: ch2 --- no_trailers.c | 72 ----------------------------------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 no_trailers.c (limited to 'no_trailers.c') diff --git a/no_trailers.c b/no_trailers.c deleted file mode 100644 index 80dbc0f..0000000 --- a/no_trailers.c +++ /dev/null @@ -1,72 +0,0 @@ -#include - -#define MAXLENGTH 1000 - -int get_line(char line[], int maxlength); -void strip_line(char line[], int length); -void copy(char to[], char from[]); - -/* - * MAIN - * Removes all trailing whitespace and blank lines from STDIN. - */ -int main() { - int len; // current line length - char line[MAXLENGTH]; // current input line - - while ((len = get_line(line, MAXLENGTH)) > 0) { - strip_line(line, len); - if (line[0] != '\0') - printf("%s\n", line); - } - return 0; -} - -/* - * GET_LINE - * Read STDIN into LINE up to MAXLENGTH and return its length. - * Returns the length of a the line. - */ -int get_line(char line[], int maxlength) { - int c, i; - - for (i = 0; i < maxlength - 1 && (c = getchar()) != EOF && c != '\n'; ++i) - line[i] = c; - if (c == '\n') { - line[i] = c; - ++i; - } - line[i] = '\0'; - return i; -} - -/* - * STRIP_LINE - * Remove all whitespace from end of LINE of given LENGTH. - */ -void strip_line(char line[], int length) { - int i, c; - - for (i = --length; i >= 0; --i) { - c = line[i]; - - if (c == ' ' || c == '\t' || c == '\n') - line[i] = '\0'; - else - break; - } -} - - -/* - * COPY - * Copy FROM into TO; assume TO is big enough. - */ -void copy(char to[], char from[]) { - int i; - - i = 0; - while ((to[i] = from[i]) != '\0') - ++i; -} - -- cgit v1.2.3