Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
Main Page
Namespaces
Classes
Files
File List
File Members
XBORNE
gthLD
verif_ext_fic.h
1
// Made by qst sept 2003
2
3
char
*NOM;
4
char
*EXT;
5
char
*NOMBASE;
6
char
*NOMsz;
7
char
*NOMbk;
8
char
*NOMcd;
9
10
struct
extension
11
{
12
char
RC
;
13
char
ind1
;
14
char
ind2
;
15
};
16
struct
extension
acceptable = {
'U'
,
'u'
,
'u'
};
17
struct
extension
argument;
18
19
int
usage_extension(
char
*s)
20
{
21
fprintf(stderr,
"Incorrect extension: %s\n"
,s);
22
fprintf(stderr,
" File extension must be of the form \".%c%c%c\"\n"
,
23
acceptable.
RC
,acceptable.
ind1
,acceptable.
ind2
);
24
if
(acceptable.
RC
==
'U'
) fprintf(stderr,
" U means R, C or U\n"
);
25
if
((acceptable.
ind1
==
'u'
) || (acceptable.
ind2
==
'u'
))
26
fprintf(stderr,
" u means i, d or u\n"
);
27
return
0;
28
}
29
30
int
verif_ext_fic (
char
*s,
char
*ext)
31
{
32
char
*t;
33
if
(strlen(s) < 4) usage_extension(s);
34
acceptable.
RC
= ext[0];
35
acceptable.
ind1
= ext[1];
36
acceptable.
ind2
= ext[2];
37
NOM = (
char
*)malloc(strlen(s)+1);
38
if
(NOM == NULL) {perror(
"malloc NOM"
);exit(2);}
39
sprintf(NOM,
"%s"
,s);
40
t = s+strlen(s)-4;
41
*t =
'\0'
;
42
NOMBASE = s;
43
t++;
44
EXT = t;
45
46
argument.
RC
= *t;
47
if
((*t !=
'R'
) && (*t !=
'C'
) && (*t !=
'U'
))
return
usage_extension(NOM);
48
if
((acceptable.
RC
==
'R'
) && (*t !=
'R'
))
return
usage_extension(NOM);
49
if
((acceptable.
RC
==
'C'
) && (*t !=
'C'
))
return
usage_extension(NOM);
50
t++;
51
argument.
ind1
= *t;
52
if
((*t !=
'i'
) && (*t !=
'd'
) && (*t !=
'u'
))
return
usage_extension(NOM);
53
if
((acceptable.
ind1
==
'i'
) && (*t !=
'i'
))
return
usage_extension(NOM);
54
if
((acceptable.
ind1
==
'd'
) && (*t !=
'd'
))
return
usage_extension(NOM);
55
t++;
56
argument.
ind2
= *t;
57
if
((*t !=
'i'
) && (*t !=
'd'
) && (*t !=
'u'
))
return
usage_extension(NOM);
58
if
((acceptable.
ind2
==
'i'
) && (*t !=
'i'
))
return
usage_extension(NOM);
59
if
((acceptable.
ind2
==
'd'
) && (*t !=
'd'
))
return
usage_extension(NOM);
60
61
NOMsz = (
char
*)malloc(strlen(NOMBASE)+4);
62
if
(NOMsz == NULL) {perror(
"malloc NOMsz"
);exit(2);}
63
sprintf(NOMsz,
"%s.sz"
,s);
64
65
NOMbk = (
char
*)malloc(strlen(NOMBASE)+4);
66
if
(NOMbk == NULL) {perror(
"malloc NOMbk"
);exit(2);}
67
sprintf(NOMbk,
"%s.bk"
,s);
68
69
NOMcd = (
char
*)malloc(strlen(NOMBASE)+4);
70
if
(NOMcd == NULL) {perror(
"malloc NOMcd"
);exit(2);}
71
sprintf(NOMcd,
"%s.cd"
,s);
72
return
1;
73
}
extension::ind1
char ind1
Definition:
verif_ext_fic.h:13
extension
Definition:
verif_ext_fic.h:10
extension::ind2
char ind2
Definition:
verif_ext_fic.h:14
extension::RC
char RC
Definition:
verif_ext_fic.h:12
Generated on Sat Jan 23 2016 15:23:50 for Marmote Core by
1.8.9.1