home *** CD-ROM | disk | FTP | other *** search
- /*
- * Puppeteer 1.1
- *
- * Copyright (c) 1994 Primitive Software Ltd. All rights reserved.
- *
- * Author: Dave Griffiths <dave@prim.demon.co.uk>
- */
-
- #include <streams/streams.h>
- #include <sys/types.h>
- #include <sys/time.h>
- #include <stdio.h>
-
- char chtbl[256];
-
- void
- uuinit()
- {
- int i, j;
-
- for (i = 0; i < ' '; i++)
- chtbl[i] = 0;
- for (i = ' ', j = 0; i < ' ' + 64; i++, j++)
- chtbl[i] = j;
- for (i = ' ' + 64; i < 128; i++)
- chtbl[i] = 0;
- chtbl['`'] = chtbl[' '];
- chtbl['~'] = chtbl['^'];
- }
-
- void
- uudecode(NXStream *in, NXStream *out)
- {
- int count, b0, b1, b2, b3;
-
- while (count = chtbl[NXGetc(in)]) {
- while (count > 0) {
- b0 = NXGetc(in);
- b1 = NXGetc(in);
- b2 = NXGetc(in);
- b3 = NXGetc(in);
- NXPutc(out, (chtbl[b0] << 2 | chtbl[b1] >> 4));
- count--;
- if (count > 0) {
- NXPutc(out, (chtbl[b1] << 4 | chtbl[b2] >> 2));
- count--;
- }
- if (count > 0) {
- NXPutc(out, (chtbl[b2] << 6 | chtbl[b3]));
- count--;
- }
- }
- NXGetc(in);
- }
-
- NXFlush(out);
- }
-
- void
- printTime(char *msg)
- {
- struct timeval tp;
- struct timezone tzp;
-
- gettimeofday(&tp, &tzp);
-
- printf("%s, SECS = %d, MSECS = %d\n", msg, tp.tv_sec, tp.tv_usec/1000);
- }
-