-----------------------------
(from doc/xnec2c.html)
Version 3.5.1:
After a request by FanJun BH1SCW, I replaced the original
makeshift desktop icon with one provided by Serge ON4AA.
-----------------------------
(from doc/xnec2c.html)
Version 3.5:
I modified the NEC2 Editor code so that when a Geometry or
Command editor window is opened, activating Apply or OK will
save data in the editor window to the treeview, even if the
default data is not edited.
I modified the NEC2 Editor code so that if a treeview row is
removed while the relevant editor window is open, then
activating Apply or OK will not attempt to save data to the
treeview, since this will cause an illegal memory access and
will crash xnec2c.
Fixed a bug in the Helix editor which caused incorrect
calculation of the segment length as a percentage of
wavelength or of the number of segments/turn that correspond
to a given segment length as a percentage of wavelength.
Existing SHA1 digests verified, all found to be the same on the
machine holding the existing distfiles (morden). Existing SHA1
digests retained for now as an audit trail.
-----------------
Version 3.4:
I fixed a bug in the code that implements the modified GS (scaling)
card. In NEC2 the GS card scales all of the structure, but in Xnec2c I
modified the code so that it is possible to specify a range of tag
numbers to apply scaling to only. When a GS card follows a GX card,
selective scaling doesn't work correctly because a symmetric structure
is created. If you are using a GS card, it may be better to avoid
specifying a tag number range, just in case the bug fix is not
complete.
(from doc/xnec2c.html)
-----------------
Version 3.3:
I fixed a bug that was in the code that reads the commands
from the NEC2 input file, where xnec2c would crash with a
segmentation fault when the FR card was after the RP
card. Also modified the Strtod() function to avoid freeing the
end pointer before it was used, causing problems.
----------------
Version 3.2:
I made some changes to the Strlcat() function and its usage in
the xnec2c code, to improve safe handling of string
concatenation operations. Hopefully this has not broken the
handling of various strings in xnec2c! ;-)
Version 3.1:
I have made several changes to the code that renders wire frame
drawings and displays some data, like the projection parameters
(azimuth and elevation of the structure and the radiation pattern) and
gain values. This has resulted in a faster and smoother animation of
these drawings and reduced workload on the processor during dragging
of these images. I have also reduced the default minimum size of
xnec2c's windows, as I had reports that they would not fit in the
displays of some laptops or monitors, with resolutions on the lower
side.
------------------------------
Version 2.4:
I submitted xnec2c (and nec2c) for scanning to the Coverity source code
audit website, which produced a list of no less than 57 issues to be
fixed! Most of them were not bugs that affected calculations but possibly
two, both in the Somnec code, one in function rom1() and one in gshank()
likely could have caused errors in the relevant
calculations. Unfortunately the Fortran source of Somnec (as well as that
of the NEC2) is very difficult to read so I cannot say with certainty if
this was so.
Version 2.5:
After a bug report by Jean Collin, I made some changes to the input file
parser code in input.c, to properly identify tabs in the input file.
Version 2.6:
After a bug report by Lucjan SQ9VPA, I changed the case of the signal
handler that deals with SIGCHLD so that it doesn't cause xnec2c to exit
when the SIGCHLD signal does not originate from child processes created
by xnec2c. It appears that in some Linux installations a SIGCHLD signal
is sent to xnec2c even if it is not running forked, e.g. the -j option is
not used in the command line.
Version 2.7:
After a bug report by Tim, WJ5Q, I fixed a bug that was preventing the
creation of an LD card of type 5 (LDTYP=5) when wire conductivity (S/m)
was specified in the GW card (Wire) editor. The same bug was present in
the GH (Helix) card editor and it was also fixed. I added code so that
the wire conductivity for GW, GA and GH cards can be read from the
relevant LD card and shown in the Conductivity (S/m) spin button.
After all these changes I checked the xnec2c source code using the
Coverity Scan service and I fixed an out-of-bounds read error that was
reported by the scanner, in the plot_freqdat.c file.
Version 2.8:
Fixed a bug in the GN card editor function which caused xnec2c to save
the GN card parameters in the .nec antenna description file without
clearing the number of radials to zero. This resulted in the GN card
editor window to open with confusing and incorrect defaults for the
radial screen, when the Reflection Coefficient Approximation method was
selected for specifying ground parameters.
Also fixed some bugs (missing variable initializations) in the Ground
Parameters calculation functions which resulted in incorrect Radiation
Pattern calculations. This would happen if a .nec file, with Perfect
Ground (iperf = 1) specified in the GN card, was opened after a .nec
file, with a Radial Ground Screen specified in the GN card, was
processed.
Version 2.9:
After a request by the Debian maintainer of xnec2c, I added a rudimentary
man page he sent me and corrected some spelling errors (arbitary to
arbitrary).
Version 3.0:
I have modified the NEC2 file parser so that it can read the file with
both the '.' and ',' as decimal point characters. This is necessary to
make xnec2c compatible with different locales. I also fixed a resource
(memory) leak, reported by valgrind, in the xyz axes drawing routine.
xnec2c is a GTK+ graphical interactive version of nec2c. It
incorporates the nec2c core which it uses for reading input files
and calculating output data, but it does not need and indeed does
not produce an output file by default. Since xnec2c incorporates
the nec2c core, it has access to all internal buffers, including
structure data, frequency-related data (structure currents, input
impedance, gain etc) and radiation pattern data (for the far field
and near field). It therefore has the ability to graphically display
user-requested data directly, as the frequency loop progresses or
after input from the user. Graphs of frequency-related data and
the current or charge distribution evolve as the frequency loop
progresses, and radiation patterns (far and near field) are
sequentially drawn for each frequency step. A new frequency can be
entered by the user from spin buttons in the main or radiation
pattern windows or by clicking on the graphs of frequency-related
data. New output data are then computed and displayed in text and
graphical form.