Commit Graph

5388 Commits

Author SHA1 Message Date
Jim Monte 81fa829b7d Fixed potential infinite loop (until memory is exhausted) and added several utility functions for processing strings. 2020-03-15 08:50:52 +01:00
Jim Monte 068df274bf Made ft_numparse() thread-safe (no internal static variables) and prepared to support ngspice variable type CP_NUM. 2020-03-15 08:50:52 +01:00
Holger Vogt 89411e2fe4 Fixed merge conflict. Also made readifile() static and removed an unnecessary string duplication there. 2020-03-15 08:50:52 +01:00
Jim Monte 873e4a8db0 Added no_histsubst option and related fixes 2020-03-15 08:50:52 +01:00
Jim Monte 4bd4a6e9be Fixed usage of new dstring functions. Also added const to some parameters that did not change. 2020-03-15 08:50:52 +01:00
Jim Monte 75d233c40d If the prompt variable was set to a value that is not a string, memory that has been freed would be used when displaying the command prompt. This could lead to strange prompts and possible access violations, although it may appear to work OK if the freed memory has not been modified. This issue is fixed. Some useless duplications of strings when defining variables are also removed. 2020-03-15 08:50:51 +01:00
Jim Monte b677ae1611 The check for the scale vector was not comparing the name in a case-insensitive manner, so unlet Yes would delete the default yes scale vector, for example. That issue was corrected. The code was also made more modular and descriptive regarding the check for the scale vector. Also, the warning now prints the scale vector as it is stored to make clear that vector names are not case sensitive. 2020-03-15 08:50:51 +01:00
Jim Monte b7d8c61cd9 Cleaned up code to locate a vector in a plot by name. The code was made more modular, and special names like allv are handled more efficiently 2020-03-15 08:50:51 +01:00
Jim Monte c7b95587de Fixed compiler warnings regarding type of argument passed 2020-03-15 08:50:51 +01:00
Jim Monte c368f32039 Added a macro R_MIN to define the minimum resistance value aS 0.01 and replaced the numeric value with the macro in the sourc code. 2020-03-15 08:50:51 +01:00
Jim Monte 89efe5aeae Dynamic string (dstring) rework 2020-03-15 08:50:51 +01:00
Holger Vogt 9452121954 Remove memory leaks in cmpp.
Two small ones (a few bytes) are still there, difficult to assess.
2020-03-15 08:50:51 +01:00
Holger Vogt 29b2799c22 plug a memory leak by CALLBACK,
deleting locally malloced memory
2020-03-15 08:50:51 +01:00
Holger Vogt e89a92f944 prevent referencing a NULL pointer
free the loc pointer and NULL its origin STATIC_VAR (locdata)
(that translates to mif_private->inst_var[0]->element[0].pvalue)
2020-03-15 08:50:51 +01:00
Holger Vogt 707936efe3 enable setting a variable from an input file
using the existing i/o redirection
2020-03-15 08:50:50 +01:00
Holger Vogt 05f02f3662 On Linux: allow calling gnuplot without invoking a terminal.
Reported by Terry Pilling
2020-03-15 08:50:50 +01:00
Holger Vogt 9238c0f9d4 prevent crash if 0 length vector is assessed 2019-11-30 11:43:29 +01:00
Holger Vogt ac65968595 allow 'dc TEMP 10 20 1' as well as 'dc temp 10 20 1' 2019-11-30 11:43:12 +01:00
Holger Vogt ee5f4cfc29 Replace B source pwl by XSPICE PWL Controlled Source
that has smooth rounded and differentiable corners.
This is used in the replacem,ent operation evaluating
Exxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
2019-11-30 11:42:00 +01:00
Holger Vogt b76fbf99fe Replace B source pwl by XSPICE PWL Controlled Source
that has smooth rounded and differentiable corners.
Microchip or On-Semi OpAmps that needed gmin and source
stepping for operating point calculation  now converge
without, others like MCP6001 that generally refused
to converge are o.k. now. Reason is the heavily used
Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
from the OpAmp models.
2019-11-30 11:39:09 +01:00
Holger Vogt 917ea99758 enable system info for Windows 10,
exclude function not existing in older SDKs
2019-11-30 11:38:53 +01:00
Holger Vogt 6598225ec0 Replace deprecated GetVersionExA by version helper functions
Add new macro _MSC_PLATFORM_TOOLSET to check for toolset
2019-11-30 11:38:25 +01:00
Holger Vogt de9dfad0c9 remove VS 'assignment within conditional expression' warning 2019-11-30 11:38:11 +01:00
Holger Vogt 13a6e042f6 remove 'unreachable code' warning 2019-11-30 11:37:49 +01:00
Holger Vogt dc1ee5f11f remove 'potentially uninitialized' warning 2019-11-30 11:37:02 +01:00
Holger Vogt ceea40e012 Revert "enable compiling with readline for macOS"
This reverts commit 11df2b7719.
2019-11-30 11:36:09 +01:00
Holger Vogt 71917744a8 remove superfluous double parentheses 2019-11-30 11:35:56 +01:00
Holger Vogt 7983b0d16a macOS: Do not use deprecated finite, but isfinite 2019-11-30 11:35:44 +01:00
Holger Vogt fa58223204 update for Linux 2019-11-30 11:35:24 +01:00
Holger Vogt 5542729694 fix for macOS 2019-11-30 11:35:12 +01:00
Holger Vogt 67f6fda216 Complete redesign of memory monitoring in resource.c.
Acquiring memory size is done by four functions
getMemorySize, getAvailableMemorySize, getPeakRSS,
and getCurrentRSS.
Time data are still obtained without code modifications.
2019-11-30 11:34:58 +01:00
Holger Vogt 22b111d9c0 tabs to spaces 2019-11-30 11:34:48 +01:00
Holger Vogt 6cd2e245c4 Add resource info on memory used and available for macOS 2019-11-30 11:34:35 +01:00
Holger Vogt 42e99ec66c safeguard against crash if instance lines are incomplete 2019-11-30 11:33:04 +01:00
Holger Vogt 33985ae1e5 Make DEVNUM robust against double initialization. 2019-10-05 13:17:38 +02:00
Holger Vogt 2f396187fa Better indentation of message 2019-10-05 13:17:30 +02:00
Holger Vogt 0575481206 Better info in case of error
Initited by a patch from Bohdan Tkhir
2019-10-05 13:17:22 +02:00
Holger Vogt eb667118cf If there are no controls, just skip creating the controls thread. 2019-10-05 13:17:11 +02:00
Holger Vogt a4402f1da7 prevent potential false reads if 'controlswait' is set. 2019-10-05 13:16:40 +02:00
Holger Vogt 03c5870034 in ps compatibility mode: translate t_measured to tnom 2019-10-05 13:16:25 +02:00
Holger Vogt 552d587deb readability 2019-09-28 16:21:44 +02:00
Holger Vogt 976c949c86 avoid false warnings of model not found 2019-09-28 16:21:36 +02:00
Holger Vogt 8276ef7b58 correct typos found by linthian 2019-09-28 12:24:09 +02:00
Holger Vogt 840d00c4ca no actions if controls thread tid2 is not set 2019-09-28 12:01:09 +02:00
Mamoru TASAKA fa0fc7f131 tclspice: avoid get_plot function type conflict
re-name get_plot as get_plot_by_index
2019-09-28 12:01:04 +02:00
Holger Vogt 9e427a1a1e Better thread handling
Embed thread tid2 into tid1
Avoid spurious thread collisions
2019-09-28 12:00:57 +02:00
Holger Vogt 1085512be5 Do not start a spurious thread with empty controls 2019-09-28 12:00:48 +02:00
Holger Vogt 712014b6db Does crash with recent Linux openSUSE Tumbleweed
Not required by shared ngspice
2019-09-28 12:00:31 +02:00
Holger Vogt cf752bf730 Revert "encapsulate fcn calls to cp_evloop into a mutex"
This reverts commit 2426a037db.
2019-09-28 12:00:23 +02:00
Holger Vogt 92b237da3b Missing files in distribution
Correction to commit
Fix a build error on FreeBSD 12, bison 3.3.2, automake 1.16.1 and BSD make
2019-09-28 12:00:16 +02:00