asa.c (96625) | asa.c (96626) |
---|---|
1/* $NetBSD: asa.c,v 1.11 1997/09/20 14:55:00 lukem Exp $ */ 2 3/* 4 * Copyright (c) 1993,94 Winning Strategies, Inc. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 22 unchanged lines hidden (view full) --- 31 */ 32 33#include <sys/cdefs.h> 34#if 0 35#ifndef lint 36__RCSID("$NetBSD: asa.c,v 1.11 1997/09/20 14:55:00 lukem Exp $"); 37#endif 38#endif | 1/* $NetBSD: asa.c,v 1.11 1997/09/20 14:55:00 lukem Exp $ */ 2 3/* 4 * Copyright (c) 1993,94 Winning Strategies, Inc. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 22 unchanged lines hidden (view full) --- 31 */ 32 33#include <sys/cdefs.h> 34#if 0 35#ifndef lint 36__RCSID("$NetBSD: asa.c,v 1.11 1997/09/20 14:55:00 lukem Exp $"); 37#endif 38#endif |
39__FBSDID("$FreeBSD: head/usr.bin/asa/asa.c 96625 2002-05-15 02:40:57Z tjr $"); | 39__FBSDID("$FreeBSD: head/usr.bin/asa/asa.c 96626 2002-05-15 03:02:17Z tjr $"); |
40 | 40 |
41#include <err.h> |
|
41#include <stdio.h> 42#include <stdlib.h> | 42#include <stdio.h> 43#include <stdlib.h> |
43#include <err.h> | |
44 45static void asa __P((FILE *)); 46int main __P((int, char *[])); 47 48int | 44 45static void asa __P((FILE *)); 46int main __P((int, char *[])); 47 48int |
49main (argc, argv) | 49main(argc, argv) |
50 int argc; 51 char **argv; 52{ 53 FILE *fp; 54 55 /* skip progname */ 56 argv++; 57 58 fp = stdin; 59 do { | 50 int argc; 51 char **argv; 52{ 53 FILE *fp; 54 55 /* skip progname */ 56 argv++; 57 58 fp = stdin; 59 do { |
60 if (*argv) { 61 if (!(fp = fopen(*argv, "r"))) { 62 warn ("%s", *argv); | 60 if (*argv != NULL) { 61 if ((fp = fopen(*argv, "r")) == NULL) { 62 warn("%s", *argv); |
63 continue; 64 } 65 } | 63 continue; 64 } 65 } |
66 asa (fp); | 66 asa(fp); |
67 if (fp != stdin) 68 (void)fclose(fp); | 67 if (fp != stdin) 68 (void)fclose(fp); |
69 } while (*argv++); | 69 } while (*argv++ != NULL); |
70 | 70 |
71 exit (0); | 71 exit(0); |
72} 73 74static void 75asa(f) 76 FILE *f; 77{ | 72} 73 74static void 75asa(f) 76 FILE *f; 77{ |
78 char *buf; | |
79 size_t len; | 78 size_t len; |
79 char *buf; |
|
80 | 80 |
81 if ((buf = fgetln (f, &len)) != NULL) { | 81 if ((buf = fgetln(f, &len)) != NULL) { |
82 if (buf[len - 1] == '\n') 83 buf[--len] = '\0'; | 82 if (buf[len - 1] == '\n') 83 buf[--len] = '\0'; |
84 /* special case the first line */ | 84 /* special case the first line */ |
85 switch (buf[0]) { 86 case '0': | 85 switch (buf[0]) { 86 case '0': |
87 putchar ('\n'); | 87 putchar('\n'); |
88 break; 89 case '1': | 88 break; 89 case '1': |
90 putchar ('\f'); | 90 putchar('\f'); |
91 break; 92 } 93 | 91 break; 92 } 93 |
94 if (len > 1 && buf[0] && buf[1]) { | 94 if (len > 1 && buf[0] && buf[1]) |
95 printf("%.*s", (int)(len - 1), buf + 1); | 95 printf("%.*s", (int)(len - 1), buf + 1); |
96 } | |
97 98 while ((buf = fgetln(f, &len)) != NULL) { 99 if (buf[len - 1] == '\n') 100 buf[--len] = '\0'; 101 switch (buf[0]) { 102 default: 103 case ' ': | 96 97 while ((buf = fgetln(f, &len)) != NULL) { 98 if (buf[len - 1] == '\n') 99 buf[--len] = '\0'; 100 switch (buf[0]) { 101 default: 102 case ' ': |
104 putchar ('\n'); | 103 putchar('\n'); |
105 break; 106 case '0': | 104 break; 105 case '0': |
107 putchar ('\n'); 108 putchar ('\n'); | 106 putchar('\n'); 107 putchar('\n'); |
109 break; 110 case '1': | 108 break; 109 case '1': |
111 putchar ('\f'); | 110 putchar('\f'); |
112 break; 113 case '+': | 111 break; 112 case '+': |
114 putchar ('\r'); | 113 putchar('\r'); |
115 break; 116 } 117 | 114 break; 115 } 116 |
118 if (len > 1 && buf[0] && buf[1]) { | 117 if (len > 1 && buf[0] && buf[1]) |
119 printf("%.*s", (int)(len - 1), buf + 1); | 118 printf("%.*s", (int)(len - 1), buf + 1); |
120 } | |
121 } 122 | 119 } 120 |
123 putchar ('\n'); | 121 putchar('\n'); |
124 } 125} | 122 } 123} |