Browse Source

enable '-' as valid character in a subcircuit name

pre-master-46
Holger Vogt 8 years ago
parent
commit
04059e5426
  1. 1
      src/frontend/numparam/general.h
  2. 8
      src/frontend/numparam/mystring.c
  3. 9
      src/frontend/numparam/spicenum.c

1
src/frontend/numparam/general.h

@ -17,5 +17,6 @@ void cadd(SPICE_DSTRINGPTR s, char c);
bool alfa(char c);
bool alfanum(char c);
bool alfanumps(char c);
int yes_or_no(void);

8
src/frontend/numparam/mystring.c

@ -149,3 +149,11 @@ alfanum(char c)
{
return alfa(c) || ((c >= '0') && (c <= '9'));
}
/* Additionally '-' allowed in subckt name if ps compatible */
bool
alfanumps(char c)
{
return alfa(c) || ((c >= '0') && (c <= '9')) || c == '-';
}

9
src/frontend/numparam/spicenum.c

@ -28,6 +28,7 @@ Todo:
#include "ngspice/fteext.h"
#include "ngspice/stringskip.h"
#include "ngspice/compatmode.h"
#ifdef SHARED_MODULE
extern ATTRIBUTE_NORETURN void shared_exit(int status);
@ -185,8 +186,12 @@ findsubname(dico_t *dico, SPICE_DSTRINGPTR dstr_p)
char *t;
entry_t *entry;
/* check for known subckt name */
for (t = p; alfanum(*t); t++)
;
if (inp_compat_mode == COMPATMODE_PS)
for (t = p; alfanumps(*t); t++)
;
else
for (t = p; alfanum(*t); t++)
;
spice_dstring_reinit(&name);
pscopy(&name, p, t);
entry = entrynb(dico, spice_dstring_value(&name));

Loading…
Cancel
Save