Decompress run-length encoded packed images.

This commit is contained in:
Eric Fischer 1999-11-29 21:36:33 -08:00
parent 039562d0b9
commit 7bd814edc0
1 changed files with 58 additions and 0 deletions

58
pack.c Normal file
View File

@ -0,0 +1,58 @@
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
char **av;
void
usage (char *s)
{
fprintf (stderr, "Usage: %s [file]\n");
}
void
process (FILE *f, char *name)
{
int c;
while ((c = getc (f)) != EOF) {
if (c == 0xfe) {
int len;
int i;
len = getc (f);
c = getc (f);
if (len != EOF)
for (i = 0; i < len; i++)
putchar (c);
} else
putchar (c);
}
}
int
main (int argc, char **argv)
{
av = argv;
if (argc < 2) {
process (stdin, "standard input");
} else if (argc == 2) {
FILE *f = fopen (argv[1], "r");
if (f) {
process (f, argv[1]);
fclose (f);
} else {
fprintf (stderr, "%s: %s: %s\n", argv[0], argv[1],
strerror (errno));
exit (EXIT_FAILURE);
}
} else {
usage (argv[0]);
exit (EXIT_FAILURE);
}
return (EXIT_SUCCESS);
}