home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CICA 1992 July
/
Cica_July92.cdr
/
bbs
/
opus
/
to_max.c
< prev
Wrap
C/C++ Source or Header
|
1992-06-29
|
3KB
|
146 lines
/*
* from simtel20 and CICA format to:
* Remote Access / Maximus / TubFile / Opus / QuickBbs / SuperBbs
*/
#if 0
1234567890123456789012345678901 [Simtel]
4DOSANN.ZIP B 6864 910819 4DOS runs on DOS 5.0 and Norton DOS info
1234567890123456789012345678901 [CICA]
diskindx.txt 901031 Cumulative Index of the WRK Disks (below)
diskroot.zip 920610 Windows Resource Kit 4/3/92
---------->
AD-FEBBS.ZIP Great Demo for Febbs made by OUNO-Soft.
#endif
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define CICA
struct data {
char filename[15];
long filesize;
int year;
int month;
int day;
char description[900];
};
int pastheader = 0;
struct data line;
void
readline(void) {
char buf[1000];
char workbuf[1000];
static char datebuf[5] = "12";
char *r;
if (NULL == gets(buf))
exit(0);
/* wait for header */
if (! pastheader) {
#ifdef CICA
if (0 == strlen(buf))
++pastheader;
#else
if (strstr(buf, "================"))
++pastheader;
#endif
return;
}
line.filename[0] = 0;
line.description[0] = 0;
if (strlen(buf) == 0) {
fprintf(stderr, "zero length line\n");
return;
}
if (strlen(buf) < 31) {
fprintf(stderr, "warning: line too short:\n%s\n", buf);
}
strcpy(workbuf, buf);
r = strtok(buf, "\r\n\t ");
if (! r) {
fprintf(stderr, "unknown line:\n%s\n", buf);
return;
}
strcpy(line.filename, r);
r += strlen(r) + 1; /* skip name */
while (isspace(*r)) /* skip white */
++r;
#ifndef CICA
++r; /* skip file type */
while (isspace(*r)) /* skip white */
++r;
r = strtok(r, "\r\n\t ");
if (! r) {
fprintf(stderr, "unknown line:\n%s\n", buf);
line.filename[0] = 0;
return;
}
line.filesize = atol(r);
r += strlen(r) + 1;
while (isspace(*r)) /* skip white */
++r;
#endif
datebuf[0] = *r;
++r;
datebuf[1] = *r;
++r;
line.year = atoi(datebuf);
datebuf[0] = *r;
++r;
datebuf[1] = *r;
++r;
line.month = atoi(datebuf);
datebuf[0] = *r;
++r;
datebuf[1] = *r;
++r;
line.day = atoi(datebuf);
while (isspace(*r)) /* skip white */
++r;
if (*r)
strcpy(line.description, r);
}
void
writeline(void) {
if (! line.filename[0])
return;
#if 0
9600TEXT.ZIP A pair of US Robotics text files about HST modems.
#endif
printf("%s %s\n", line.filename, line.description);
}
void _Cdecl
main(void) {
while (1) {
readline();
writeline();
}
}