|
|
1.1 root 1: #define TRACE printf
2: #define DATAFILE ".mwcbbs"
3:
4: #include <stdio.h>
5: #include "contents.h"
6:
7: void bbsdatafile()
8: {
9: int x,y;
10: char read_data[57];
11: char newpath[10];
12: char specpath[46];
13: FILE *datafile;
14:
15: if( (datafile=fopen(DATAFILE,"r")) != NULL){
16:
17: /* read a line from the file and read the
18: * first set of characters into a string. These
19: * characters should be upper case only and we
20: * will stop reading them when we hit an '=' sign.
21: */
22:
23: while (fgets(read_data,70,datafile) != NULL){
24: x = 0;
25: y = 0;
26: while(read_data[x] != '='){
27: if((read_data[x] == '\n') || (read_data[x] == '\0')){
28: printf(".mwcbbs: unexpected NEWLINE or NULL in file.\n");
29: exit(1);
30: }
31: if(isupper(read_data[x]) == 0){
32: printf(".mwcbbs: Expected UPPER CASE character before '='.\n");
33: exit(1);
34: }
35: newpath[x] = read_data[x];
36: x++;
37: }
38: newpath[x] = '\0';
39: x++;
40:
41: /* Since we got this far, we will take the remainder
42: * of the line read from .mwcbbs and place that in its
43: * own string.
44: */
45:
46: while(x < strlen(read_data + 1)){
47: specpath[y] = read_data[x];
48: x++;
49: y++;
50:
51: /* if we are about to excede our pathname limit,
52: * warn the user and exit.
53: */
54:
55: if( y == 45 ){
56: printf(".mwcbbs: WARNING: path for %s excedes 45 character limit!\n",
57: newpath);
58: exit(1);
59: }
60: }
61: if(specpath[y-1] != '/'){
62: specpath[y] = '/';
63: y++;
64: }
65: specpath[y] = '\0';
66:
67: /* if the download path was specified, copy the pathname
68: * to the recdir (receive directory) variable.
69: */
70:
71: if (strcmp(newpath,"DOWNPATH") == 0){
72: strcpy(recdir," ");
73: strcat(recdir,specpath);
74: }
75:
76: /* if the data file path was specifed, copy the pathname
77: * to the find_workfile variable.
78: */
79:
80: if(strcmp(newpath,"DATAPATH") == 0){
81: strcpy(find_workfile,specpath);
82: }
83: }
84: fclose(datafile);
85: }
86: return ;
87: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.