1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
/*main: déclarations et appelle*/
char *ip;
char *nick;
char *chan;
char *msg;
char *host;
char *user;
char *op;
int sql, acc, reg, undo;
unsigned int port;
i = loadconf (&ip, &port, &host, &user, &nick, &chan, &msg, &op, &sql, &acc, ®, &undo);
/*La fonction loadconf*/
int loadconf (char** server, unsigned int *port, char** host, char **user, char** nick, char **chan, char **msg, char** op, int *sql, int *acc, int *reg, int *undo){
const char *path = "file.conf";
FILE* fconf = NULL;
char line[1024];
char val[1024];
fconf = fopen (path, "r");
if (fconf == NULL){
fprintf (stderr, "file.cong not found!\n");
return;
}
while (feof(fconf) == 0){
fgets (line, sizeof (line), fconf);
//printf (">%s\n", line);
if (sscanf (line, "# %s", val)) ;/*we ignore the comments*/
else
if (sscanf (line, "server=%s", val)){
*server = malloc (strlen(val) * sizeof (char));
strcpy (*server, val);
}
else
if (sscanf (line, "port=%u", &port));
else
if (sscanf (line, "host=s", val)){
*host = malloc (strlen(val) * sizeof (char));
strcpy (*host, val);
}
else
if (sscanf (line, "user=%s", val)){
*user = malloc (strlen(val) * sizeof (char));
strcpy (*user, val);
}
else
if (sscanf (line, "nick=%s", val)){
*nick = malloc (strlen(val) * sizeof (char));
strcpy (*nick, val);
}
else
if (sscanf (line, "chan=%s", val)){
*chan = malloc (strlen(val) * sizeof (char));
strcpy (*chan, val);
}
else
if (sscanf (line, "msg=%[^\0]s", val)){
*msg = malloc (strlen(val) * sizeof (char));
strcpy (*msg, val);
}
else
if (sscanf (line, "op=%s", val)){
*op = malloc (strlen(val) * sizeof (char));
strcpy (*op, val);
}
else
if (sscanf (line, "chan=%s", val)){
*chan = malloc (strlen(val) * sizeof (char));
strcpy (*chan, val);
}
else
if (sscanf (line, "sql=%d", &sql)) ;
else
if (sscanf (line, "acc=%d", &acc));
else
if (sscanf (line, "reg=%d", ®)) ;
else
if (sscanf (line, "undo=%d", &undo)) ;
}
fclose (fconf);
return 1;
} |
Partager