From b16759cf97a0047bc75d03ffd9a215ddf5082cad Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sun, 10 May 2009 19:29:13 +0000 Subject: [PATCH] 1348: find last dot --- ChangeLog | 3 +++ src/frontend/subckt.c | 33 +++++++++++++++++---------------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index cf482ddd3..6d8c1c4ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2009-05-10 Holger Vogt + * subckt.c:1348 find last dot, not first dot in model_name + 2009-05-09 Holger Vogt * graf.c: graphics scaling during iplot mad ea little more convenient diff --git a/src/frontend/subckt.c b/src/frontend/subckt.c index b874c76dc..48c614bd8 100644 --- a/src/frontend/subckt.c +++ b/src/frontend/subckt.c @@ -1340,23 +1340,24 @@ gettrans(char *name) static bool model_bin_match( char* token, char* model_name ) { - char* dot_char; - bool flag = FALSE; - - if ( strncmp( model_name, token, strlen(token) ) == 0 ) { - if ( (dot_char = strstr( model_name, "." )) ) { - flag = TRUE; - dot_char++; - while( *dot_char != '\0' ) { - if ( !isdigit( *dot_char ) ) { - flag = FALSE; - break; - } - dot_char++; + char* dot_char; + bool flag = FALSE; + /* continue evaluation if toeken is part of model_name */ + if ( strncmp( model_name, token, strlen(token) ) == 0 ) { + /* find last dot in model_name */ + if ( (dot_char = strrchr( model_name, '.' )) ) { + flag = TRUE; + dot_char++; + while( *dot_char != '\0' ) { + if ( !isdigit( *dot_char ) ) { + flag = FALSE; + break; + } + dot_char++; + } } - } - } - return flag; + } + return flag; } /*-------------------------------------------------------------------*/