Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
BitchX
GitHub Repository: BitchX/BitchX1.3
Path: blob/master/bx-conf/save.c
1069 views
1
2
3
int save_file (CELL *c)
4
{
5
FILE *out = NULL;
6
if ((out = fopen(current_path, "w")))
7
{
8
int i = 0;
9
mvwaddstr(c->window, c->erow + 3, c->scol , "Saving file now.......");
10
11
fprintf(out, "#define _USE_LOCAL_CONFIG\n");
12
fprintf(out, "\n\n\n/*\n * Compile Time options\n */\n");
13
for (i = 0; compile_default[i].option; i++)
14
{
15
if (*(compile_default[i].help))
16
fprintf(out, "/*\n * %s\n */\n", compile_default[i].help);
17
if (compile_default[i].integer)
18
fprintf(out, "#define %-50s1\n\n", compile_default[i].out);
19
else
20
fprintf(out, "/* #undef %s */\n\n", compile_default[i].out);
21
}
22
fprintf(out, "\n\n\n/*\n * Userlist options\n */\n");
23
for (i = 0; userlist_default[i].option; i++)
24
{
25
if (*(userlist_default[i].help))
26
fprintf(out, "/*\n * %s\n */\n", userlist_default[i].help);
27
switch(userlist_default[i].type)
28
{
29
case STR_TYPE:
30
break;
31
default:
32
fprintf(out, "#define %-50s %d\n\n", userlist_default[i].out, userlist_default[i].integer);
33
}
34
}
35
fprintf(out, "\n\n\n/*\n * Flood options\n */\n");
36
for (i = 0; flood_default[i].option; i++)
37
{
38
if (*(flood_default[i].help))
39
fprintf(out, "/*\n * %s\n */\n", flood_default[i].help);
40
switch(flood_default[i].type)
41
{
42
case STR_TYPE:
43
break;
44
default:
45
fprintf(out, "#define %-50s %d\n\n", flood_default[i].out, flood_default[i].integer);
46
}
47
}
48
fprintf(out, "\n\n\n/*\n * DCC options\n */\n");
49
for (i = 0; dcc_default[i].option; i++)
50
{
51
if (*(dcc_default[i].help))
52
fprintf(out, "/*\n * %s\n */\n", dcc_default[i].help);
53
switch(dcc_default[i].type)
54
{
55
case STR_TYPE:
56
break;
57
default:
58
fprintf(out, "#define %-50s %d\n\n", dcc_default[i].out, dcc_default[i].integer);
59
}
60
}
61
fprintf(out, "\n\n\n/*\n * Server options\n */\n");
62
for (i = 0; server_default[i].option; i++)
63
{
64
if (*(server_default[i].help))
65
fprintf(out, "/*\n * %s\n */\n", server_default[i].help);
66
switch(server_default[i].type)
67
{
68
case STR_TYPE:
69
break;
70
default:
71
fprintf(out, "#define %-50s %d\n\n", server_default[i].out, server_default[i].integer);
72
}
73
}
74
fprintf(out, "\n\n\n/*\n * Misc options\n */\n");
75
for (i = 0; various_default[i].option; i++)
76
{
77
if (*(various_default[i].help))
78
fprintf(out, "/*\n * %s\n */\n", various_default[i].help);
79
switch(various_default[i].type)
80
{
81
case STR_TYPE:
82
break;
83
default:
84
fprintf(out, "#define %-50s %d\n\n", various_default[i].out, various_default[i].integer);
85
}
86
}
87
fprintf(out, "\n\n\n");
88
fclose(out);
89
}
90
return TRUE;
91
}
92
93