projects
/
unix-history
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
BSD 3 development
[unix-history]
/
usr
/
src
/
cmd
/
ssp.c
#include <stdio.h>
/*
* ssp - single space output
*
* Bill Joy UCB August 25, 1977
*
* Compress multiple empty lines to a single empty line.
* Option - compresses to nothing.
*/
char
poof
,
hadsome
;
int
ibuf
[
256
];
main
(
argc
,
argv
)
int
argc
;
char
*
argv
[];
{
register
int
c
;
FILE
*
f
;
argc
--,
argv
++;
do
{
while
(
argc
>
0
&&
argv
[
0
][
0
] ==
'-'
) {
poof
=
1
;
argc
--,
argv
++;
}
f
=
stdin
;
if
(
argc
>
0
) {
if
((
f
=
fopen
(
argv
[
0
],
"r"
)) ==
NULL
) {
fflush
(
f
);
perror
(
argv
[
0
]);
exit
(
1
);
}
argc
--,
argv
++;
}
for
(;;) {
c
=
getc
(
f
);
if
(
c
== -
1
)
break
;
if
(
c
!=
'
\n
'
) {
hadsome
=
1
;
putchar
(
c
);
continue
;
}
/*
* Eat em up
*/
if
(
hadsome
)
putchar
(
'
\n
'
);
c
=
getc
(
f
);
if
(
c
== -
1
)
break
;
if
(
c
!=
'
\n
'
) {
putchar
(
c
);
hadsome
=
1
;
continue
;
}
do
c
=
getc
(
f
);
while
(
c
==
'
\n
'
);
if
(!
poof
&&
hadsome
)
putchar
(
'
\n
'
);
if
(
c
== -
1
)
break
;
putchar
(
c
);
hadsome
=
1
;
}
}
while
(
argc
>
0
);
}