findsubname(), cleanup

This commit is contained in:
rlar 2017-11-23 18:28:46 +01:00
parent 8df5717017
commit 1778b608d8
1 changed files with 9 additions and 9 deletions

View File

@ -155,26 +155,26 @@ findsubname(dico_t *dico, SPICE_DSTRINGPTR dstr_p)
char * const s = spice_dstring_value(dstr_p); char * const s = spice_dstring_value(dstr_p);
char * const ls_ptr = s + spice_dstring_length(dstr_p); char * const ls_ptr = s + spice_dstring_length(dstr_p);
char *p = s + 1 + (int) (ls_ptr - s) - 1; char *p = ls_ptr;
spice_dstring_init(&name); spice_dstring_init(&name);
while ((p - s - 1) >= 0) { while (p > s) {
/* skip space, then non-space */ /* skip space, then non-space */
while (((p - s - 1) >= 0) && (s[(p - s - 1)] <= ' ')) while ((p > s) && (p[-1] <= ' '))
p--; p--;
int h = (int) (p - s - 1) + 1; /* at h: space */ int h = (int) (p - s - 1) + 1; /* at h: space */
while (((p - s - 1) >= 0) && (s[(p - s - 1)] > ' ')) { while ((p > s) && (p[-1] > ' ')) {
if (s[(p - s - 1)] == '}') { if (p[-1] == '}') {
int nest = 1; int nest = 1;
p--; p--;
while ((nest > 0) && ((p - s - 1) >= 0)) { while ((nest > 0) && (p > s)) {
if (s[(p - s - 1)] == '{') if (p[-1] == '{')
nest--; nest--;
else if (s[(p - s - 1)] == '}') else if (p[-1] == '}')
nest++; nest++;
p--; p--;
@ -186,7 +186,7 @@ findsubname(dico_t *dico, SPICE_DSTRINGPTR dstr_p)
} }
} }
if (((p - s - 1) >= 0) && alfanum(s[(p - s - 1) + 1])) { /* suppose an identifier */ if ((p > s) && alfanum(*p)) { /* suppose an identifier */
entry_t *entry; entry_t *entry;
/* check for known subckt name */ /* check for known subckt name */
spice_dstring_reinit(&name); spice_dstring_reinit(&name);