* csfix - fix constant spacing for error message flags in troff
* Bill Joy UCB September 11, 1977
* This would be better written in snobol!
* Normally fixes error flags in a pi listing
* Optional - causes fixing of '---' and initial blank widthin a pxp profile.
if (argc
> 0 && argv
[0][0] == '-' && argv
[0][1] == 'd')
if (argc
> 0 && argv
[0][0] == '-')
write(2, "Usage: csfix\n", 13);
flag
? fixpxp() : reformat();
char line
[160], flagee
[160];
for (cp
= line
, c
= getchar(); c
!= '\n' && c
!= EOF
; c
= getchar())
for (cp
= line
; cp
[0] && cp
[1] && cp
[2]; cp
++)
if (cp
[0] == '-' && cp
[1] == '-' && cp
[2] == '-')
register char *cp
, c
, *tail
;
printf("\\l'\\w`w `u-\\w`%2.2s`u '", line
);
for (cp
= line
; *cp
!= 0 && *cp
!= '^'; cp
++)
if (cp
[-1] == '\b' && cp
[-2] == '|')
printf("\\l'\\w`%s`u-\\w`w `u\\&\\(rh'", flagee
);
printf("\\l'(\\w`%c`u-\\w`^`u)/2 '", c
);
printf("\\l'(\\w`%c`u-\\w`^`u)/2 '", c
);
printf("\\l'\\w`---`u\\&\\(rh'%s\n", tail
+3);
printf("%s\n", flag
? digitty(0) : line
);
if (line
[0] != ' ' || line
[1] != ' ' || line
[2] != 'w')
printf(" \\l'(\\w`E`u-\\w`w`u)/2 'w\\l'(\\w`E`u-\\w`w`u)/2 '");
for (cp
= line
; *cp
!= '-'; cp
++)
printf("%s\\l'\\w`\\0\\0\\0\\0`u-\\w`.`u\\&\\(rh'%s\n", digitty(1), cp
+ 3);
register char *cp
, *dp
, *lp
;
for (lp
= line
; *lp
&& *lp
!= '|'; lp
++)
for (cp
= line
, dp
= flagee
; cp
< lp
; cp
++)
*dp
++ = '\\', *dp
++ = '0';
for (cp
= line
; *cp
== ' ' || *cp
>= '0' && *cp
<= '9'; cp
++)
printf("%s%s\n", flagee
, cp
);