summaryrefslogtreecommitdiffstats
path: root/5/11.c
diff options
context:
space:
mode:
authorSadeep Madurange <smadurange@users.noreply.github.com>2022-01-22 15:34:23 +0800
committerSadeep Madurange <smadurange@users.noreply.github.com>2022-01-22 15:34:23 +0800
commit7c2f211a53961daa75394424623a31de6b137318 (patch)
treecaa0e7ac88a97eb2cafe4ab7c80a7d6a25c3c0ed /5/11.c
parent784081ee41b64f0431a309ab9d7eb2a5f02cbf74 (diff)
downloadk&r-exercises-7c2f211a53961daa75394424623a31de6b137318.tar.gz
5.11
Diffstat (limited to '5/11.c')
-rw-r--r--5/11.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/5/11.c b/5/11.c
index bb56131..adf79b3 100644
--- a/5/11.c
+++ b/5/11.c
@@ -4,15 +4,16 @@
#define MAXTABLIST 10
#define MAXDIGLEN 10
#define TABSIZE 8
-#define MAXINPUT 500
+#define MAXTEXTLEN 500
int gettabs(char *s, int *t);
int gettext(char *s, int max);
void entab(char *s, char *t, int *tablist, int tablistc);
+void detab(char *s, char *t, int *tablist, int tablistc);
int main(int argc, char *argv[]) {
- char op, s[MAXINPUT];
int colv[MAXTABLIST], colc;
+ char op, s[MAXTEXTLEN], t[MAXTEXTLEN];
if ((argc != 2 && argc != 3) || (op = argv[1][1] != 'e' && op != 'd')) {
printf("Usage: -e 5,3...\n");
@@ -27,17 +28,20 @@ int main(int argc, char *argv[]) {
}
printf("Enter text to %s\n", op == 'e' ? "entab" : "detab");
- gettext(s, MAXINPUT);
+ gettext(s, MAXTEXTLEN);
switch (op) {
case 'e':
- // todo: entab
+ entab(s, t, colv, colc);
break;
case 'd':
- // todo: detab
+ detab(s, t, colv, colc);
break;
default:
printf("Error: invalid operation.\n");
return 1;
}
+
+ printf("\t%s\n", t);
+ return 0;
} \ No newline at end of file