Rewrite extract_model_param.
This commit is contained in:
parent
7c2bb8a4da
commit
538179cf01
|
|
@ -2362,22 +2362,28 @@ static Xlatorp gen_gate_instance(struct gate_instance *gip)
|
|||
}
|
||||
}
|
||||
|
||||
static void extract_model_param(char *rem, char *pname, char *buf)
|
||||
static void extract_model_param(char *rem, char *param_name, char *buf)
|
||||
{
|
||||
char *p1, *p2, *p3;
|
||||
/* Find the value of timing model parameter 'param_name'
|
||||
in the remainder of the .model line.
|
||||
Expect: param_name zero_or_more_ws '=' zero_or_more_ws value
|
||||
*/
|
||||
char *p1 = NULL;
|
||||
|
||||
p1 = strstr(rem, pname);
|
||||
p1 = strstr(rem, param_name);
|
||||
if (p1) {
|
||||
p2 = strchr(p1, '=');
|
||||
if (isspace(p2[1])) {
|
||||
p3 = skip_ws(&p2[1]);
|
||||
} else {
|
||||
p3 = &p2[1];
|
||||
p1 += strlen(param_name);
|
||||
p1 = skip_ws(p1);
|
||||
if (p1[0] != '=') {
|
||||
buf[0] = '\0';
|
||||
return;
|
||||
}
|
||||
while (!isspace(p3[0]) && p3[0] != ')') {
|
||||
*buf = p3[0];
|
||||
p1++;
|
||||
p1 = skip_ws(p1);
|
||||
while (!isspace(p1[0]) && p1[0] != ')') {
|
||||
*buf = p1[0];
|
||||
buf++;
|
||||
p3++;
|
||||
p1++;
|
||||
}
|
||||
*buf = '\0';
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in New Issue