Matthew Fernandez [Sat, 10 Apr 2021 00:02:34 +0000 (17:02 -0700)]
remove non-portable default for $PATH
Across the range of platforms Graphviz runs on, this is not a reasonable
default. E.g. Windows will have none of these paths and this is not even how one
separates paths in Windows $PATH. This is mostly a latent issue, as it is very
rare for $PATH to be unset.
Matthew Fernandez [Sat, 10 Apr 2021 00:02:25 +0000 (17:02 -0700)]
remove getenv("PATH") caching
On most modern platforms, getenv is accessing a static array in the address
space. So this caching does not add any benefit.
Matthew Fernandez [Sat, 17 Apr 2021 22:23:03 +0000 (22:23 +0000)]
Merge branch 'smattr/
AB0E37EB-52FF-4036-8BF3-
F01425B7486E' into 'main'
remove astquery prototype
See merge request graphviz/graphviz!1891
Matthew Fernandez [Fri, 9 Apr 2021 15:21:51 +0000 (08:21 -0700)]
remove astquery prototype
This function is not implemented.
Matthew Fernandez [Sat, 17 Apr 2021 21:42:12 +0000 (21:42 +0000)]
Merge branch 'smattr/
ca8249f0-859f-412b-832d-
55cdf8d7bab9' into 'main'
squash some compiler warnings in lib/ortho
See merge request graphviz/graphviz!1890
Matthew Fernandez [Thu, 8 Apr 2021 04:55:42 +0000 (21:55 -0700)]
remove commented out code
Matthew Fernandez [Thu, 8 Apr 2021 04:49:57 +0000 (21:49 -0700)]
remove unused parameter e from addEdgeToNode
Matthew Fernandez [Thu, 8 Apr 2021 04:16:41 +0000 (21:16 -0700)]
remove some commented out code
Matthew Fernandez [Thu, 8 Apr 2021 04:13:21 +0000 (21:13 -0700)]
track edge counts as size_t in ortho.c
This fixes some -Wsign-conversion warnings at the expense of introducing some
-Wsign-compare warnings. The latter should be removed as we migrate the cell
count in mazes to size_t.
Matthew Fernandez [Thu, 8 Apr 2021 04:07:28 +0000 (21:07 -0700)]
remove unused parameter ix to emitEdge
Matthew Fernandez [Thu, 8 Apr 2021 04:04:04 +0000 (21:04 -0700)]
remove an unnecessary cast
Matthew Fernandez [Thu, 8 Apr 2021 03:58:25 +0000 (20:58 -0700)]
represent route array lengths as size_t
This fixes one -Wsign-conversion warning, though introduces a -Wconversion
warning. We should be able to remove the latter as we continue cleaning up the
use of int for sizes.
Matthew Fernandez [Thu, 8 Apr 2021 03:54:07 +0000 (20:54 -0700)]
remove some commented out code
Matthew Fernandez [Thu, 8 Apr 2021 03:44:02 +0000 (20:44 -0700)]
squash a -Wsign-conversion warning
Matthew Fernandez [Thu, 8 Apr 2021 03:39:19 +0000 (20:39 -0700)]
squash a -Wmissing-prototypes warning
Matthew Fernandez [Thu, 8 Apr 2021 03:33:40 +0000 (20:33 -0700)]
squash some -Wunused-parameter warnings
Matthew Fernandez [Thu, 8 Apr 2021 03:30:10 +0000 (20:30 -0700)]
squash two -Wswitch-default warnings
Matthew Fernandez [Thu, 8 Apr 2021 02:55:01 +0000 (19:55 -0700)]
squash a -Wswitch-default warning
Matthew Fernandez [Thu, 8 Apr 2021 02:51:54 +0000 (19:51 -0700)]
squash a -Wswitch-default warning
Matthew Fernandez [Thu, 8 Apr 2021 02:50:53 +0000 (19:50 -0700)]
squash some -Wunused-parameter warnings
Matthew Fernandez [Thu, 8 Apr 2021 02:44:10 +0000 (19:44 -0700)]
use a stronger type to squash a -Wconversion warning
Matthew Fernandez [Thu, 8 Apr 2021 02:42:25 +0000 (19:42 -0700)]
remove unused parameter route_list from assignTracks
Matthew Fernandez [Thu, 8 Apr 2021 02:41:33 +0000 (19:41 -0700)]
remove unused parameter nrtes from assignTracks
Matthew Fernandez [Sat, 17 Apr 2021 21:01:28 +0000 (21:01 +0000)]
Merge branch 'smattr/
CC513531-8BFC-4587-8816-
4E41C4672694' into 'main'
some clean up of sfextern.c
See merge request graphviz/graphviz!1888
Matthew Fernandez [Tue, 6 Apr 2021 02:56:19 +0000 (19:56 -0700)]
swap some use of hand rolled NIL for the standard NULL
Matthew Fernandez [Tue, 6 Apr 2021 02:52:23 +0000 (19:52 -0700)]
remove unnecessary global initialization
This structure is default-0-initialized.
Matthew Fernandez [Sat, 17 Apr 2021 20:06:29 +0000 (20:06 +0000)]
Merge branch 'smattr/
5D993CF4-B158-4D08-AEFE-
FC86452B0FF9' into 'main'
Move back to 2.47 development series
See merge request graphviz/graphviz!1904
Matthew Fernandez [Sat, 17 Apr 2021 19:20:32 +0000 (12:20 -0700)]
Move back to 2.47 development series
Matthew Fernandez [Sat, 17 Apr 2021 19:19:13 +0000 (19:19 +0000)]
Merge branch 'smattr/
5689080F-D576-43E6-99D5-
B96A4E4D6D98' into 'main'
Stable release 2.47.1
See merge request graphviz/graphviz!1897
Matthew Fernandez [Sun, 11 Apr 2021 23:23:48 +0000 (16:23 -0700)]
Stable release 2.47.1
Mark Hansen [Wed, 14 Apr 2021 10:10:01 +0000 (10:10 +0000)]
Merge branch 'fopen' into 'main'
Output more useful error message on fopen failure
See merge request graphviz/graphviz!1901
Mark Hansen [Tue, 13 Apr 2021 09:20:26 +0000 (19:20 +1000)]
Output more useful error message on fopen failure
This should help with bugs like
https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/86
Matthew Fernandez [Sat, 10 Apr 2021 22:33:36 +0000 (22:33 +0000)]
Merge branch 'smattr/
556EAFC0-B0EF-4141-AB81-
47E2C24419F9' into 'main'
squash C++ warnings
See merge request graphviz/graphviz!1881
Matthew Fernandez [Sat, 3 Apr 2021 02:26:49 +0000 (19:26 -0700)]
remove an unused variable
Squashes a -Wunused-but-set-variable warning.
Matthew Fernandez [Sat, 3 Apr 2021 02:21:20 +0000 (19:21 -0700)]
squash -Wunused-parameter warnings
Matthew Fernandez [Sat, 3 Apr 2021 02:06:48 +0000 (19:06 -0700)]
squash -Wunused-parameter warnings
Matthew Fernandez [Fri, 9 Apr 2021 04:02:54 +0000 (21:02 -0700)]
LASI plugin: remove use of endl
This is generally considered an anti-pattern in C++ these days.
Matthew Fernandez [Sat, 10 Apr 2021 01:50:44 +0000 (18:50 -0700)]
LASI plugin: remove unnecessary use of a pointer
Matthew Fernandez [Fri, 9 Apr 2021 03:27:46 +0000 (20:27 -0700)]
LASI plugin: use job context instead of globals
The LASI plugin was using two global variables, making it impossible to process
multiple graphs with it at the same time. This change refactors it to use the
jobs context as other rendering plugins do.
Matthew Fernandez [Sat, 3 Apr 2021 02:00:27 +0000 (19:00 -0700)]
delete commented out code
Matthew Fernandez [Sat, 3 Apr 2021 01:56:33 +0000 (18:56 -0700)]
remove useless code
This was added in the initial commit of VPSC,
03c20a55c921ac07599be2ae19ae34209ec0d02e. The comment was incorrect. This does
*not* limit iteration because the variable type is unsigned. That is, it is
always >= 0. This was caught by enabling CXXFLAGS+=-Wtype-limits.
Matthew Fernandez [Sat, 3 Apr 2021 01:54:18 +0000 (18:54 -0700)]
squash a -Wparentheses warning
Matthew Fernandez [Sat, 3 Apr 2021 01:52:29 +0000 (18:52 -0700)]
squash a -Wmisleading-indentation warning
Matthew Fernandez [Sat, 10 Apr 2021 20:30:24 +0000 (20:30 +0000)]
Merge branch 'smattr/
1F78CB9B-13C5-4885-BAFA-
8CB840D952FB' into 'main'
general clean up
See merge request graphviz/graphviz!1886
Matthew Fernandez [Sun, 4 Apr 2021 04:30:33 +0000 (21:30 -0700)]
push a definition closer to its use
Matthew Fernandez [Sun, 4 Apr 2021 04:17:29 +0000 (21:17 -0700)]
remove unused Info variable
Matthew Fernandez [Sun, 4 Apr 2021 02:42:41 +0000 (19:42 -0700)]
remove unused SFIO Version
Matthew Fernandez [Sun, 4 Apr 2021 02:40:03 +0000 (19:40 -0700)]
abbreviate some arithmetic
Matthew Fernandez [Sun, 4 Apr 2021 02:39:51 +0000 (19:39 -0700)]
remove some unnecessary bracketing
Matthew Fernandez [Sun, 4 Apr 2021 02:22:21 +0000 (19:22 -0700)]
remove some unnecessary casts
These pointers coerce implicitly.
Matthew Fernandez [Sun, 4 Apr 2021 02:14:56 +0000 (19:14 -0700)]
remove some commented out code
Matthew Fernandez [Sun, 4 Apr 2021 02:10:28 +0000 (19:10 -0700)]
mark Origin as static const
This variable is not modified or used outside this file.
Matthew Fernandez [Sat, 10 Apr 2021 03:00:53 +0000 (03:00 +0000)]
Merge branch 'smattr/
30a4bc3c-4d5a-4130-8a78-
60712ab9805e' into 'main'
replace a use of sfstropen with malloc+vsnprintf
See merge request graphviz/graphviz!1884
Matthew Fernandez [Sat, 3 Apr 2021 20:13:02 +0000 (13:13 -0700)]
replace a use of sfstropen with malloc+vsnprintf
This is another step towards removing uses of sfstropen in the code base.
Related to #1873.
Matthew Fernandez [Sat, 3 Apr 2021 19:44:43 +0000 (12:44 -0700)]
add missing #include
Matthew Fernandez [Sat, 10 Apr 2021 02:05:56 +0000 (02:05 +0000)]
Merge branch 'smattr/
19cb473f-0226-41d2-9f69-
0fc1b45513ef' into 'main'
remove another use of setjmp/longjmp
See merge request graphviz/graphviz!1883
Matthew Fernandez [Sat, 3 Apr 2021 19:35:30 +0000 (12:35 -0700)]
remove now-unused jmp_buf
Related to #1801.
Matthew Fernandez [Sat, 3 Apr 2021 19:34:52 +0000 (12:34 -0700)]
return NULL from deriveGraph to indicate failure
Related to #1801.
Matthew Fernandez [Sat, 3 Apr 2021 19:33:22 +0000 (12:33 -0700)]
anticipate a NULL return from deriveGraph
Related to #1801.
Matthew Fernandez [Sat, 3 Apr 2021 19:32:05 +0000 (12:32 -0700)]
anticipate failure from layout
Related to #1801.
Matthew Fernandez [Sat, 3 Apr 2021 19:31:08 +0000 (12:31 -0700)]
add a return value to layout
Related to #1801.
Matthew Fernandez [Sat, 3 Apr 2021 19:28:59 +0000 (12:28 -0700)]
anticipate failure from fdpLayout
Related to #1801.
Matthew Fernandez [Sat, 3 Apr 2021 19:27:56 +0000 (12:27 -0700)]
add a return value to fdpLayout
Related to #1801.
Matthew Fernandez [Sat, 3 Apr 2021 19:22:42 +0000 (12:22 -0700)]
delete commented out code
Matthew Fernandez [Sat, 10 Apr 2021 01:21:47 +0000 (18:21 -0700)]
Merge remote-tracking branch 'origin/smattr/
1EBF65AE-6292-4A55-B9E5-
A01E28911B08' into main
Matthew Fernandez [Sat, 3 Apr 2021 17:56:00 +0000 (10:56 -0700)]
allow macOS CI tasks to run immediately
The macOS tasks were, by default, blocking on the portable source generation.
However these tasks do not use the portable source or any prior stage’s
artifacts. Now that we have moved to shared macOS runners without caching, the
macOS CI tasks are the limiting factor on CI runtime. Cutting this dependency
should meaningfully impact this.
Matthew Fernandez [Sat, 3 Apr 2021 18:50:37 +0000 (11:50 -0700)]
propagate COLLECTION from macOS CI build tasks to macOS CI test tasks
This is more straightforward and reliable than trying to keep multiple places
where we manually set the collection coherent.
Matthew Fernandez [Sat, 3 Apr 2021 18:46:35 +0000 (11:46 -0700)]
fix: propagate VERSION from macOS build tasks to macOS CI test tasks
The macOS test tasks in CI were picking up the VERSION from the portable source
task, despite their build tasks using a different process to derive VERSION.
This change ensures they get the VERSION file their build task created.
Magnus Jacobsson [Fri, 9 Apr 2021 18:08:29 +0000 (18:08 +0000)]
Merge branch 'fix-strcpy-param-overlap' into 'main'
Fix AddressSanitizer: strcpy-param-overlap in gvconfig_libdir
Closes #1994
See merge request graphviz/graphviz!1887
Magnus Jacobsson [Sun, 4 Apr 2021 14:54:29 +0000 (16:54 +0200)]
Fix AddressSanitizer: strcpy-param-overlap in gvconfig_libdir
Fixes https://gitlab.com/graphviz/graphviz/-/issues/1994.
Matthew Fernandez [Thu, 8 Apr 2021 05:04:25 +0000 (05:04 +0000)]
Merge branch 'smattr/
19C32E28-7A45-406A-A700-
B74AB173D7FE' into 'main'
remove inlining of flip_rec_box
See merge request graphviz/graphviz!1880
Matthew Fernandez [Fri, 2 Apr 2021 00:03:37 +0000 (17:03 -0700)]
remove inlining of flip_rec_box
With a modern compiler, the inline keyword is more or less ignored and the
compiler makes a (usually better) decision itself.
Matthew Fernandez [Thu, 8 Apr 2021 02:43:35 +0000 (02:43 +0000)]
Merge branch 'smattr/
1DFCCF93-D5FA-4443-A701-
9C65CC090280' into 'main'
fix computation of minimum graph rank on large graphs
See merge request graphviz/graphviz!1879
Matthew Fernandez [Fri, 2 Apr 2021 00:02:19 +0000 (17:02 -0700)]
fix computation of minimum graph rank on large graphs
This code was using MAXSHORT as the maximum (unrealistically large) rank. That
is, start out with this value and assume all nodes will rank below this so we
can progressively step down. This was likely correct when the code was first
written. However,
97cb5fffdcaa97eadb76a9b82a026d084a6a94d9 altered the type used
for storing ranks from short to int to support larger graphs. That is, nodes in
a graph are now anticipated to have ranks in excess of 32767 (on e.g. x86). This
change did not update these algorithms to compensate.
The effect of this is that any graph whose nodes were all ranked >32767 would be
incorrectly judged to have a minimum rank of 32767. The present change fixes
this by realigning this to the limit of the new ranking type.
Note that this removes the last use MAXSHORT in the code base. Unfortunately we
cannot easily remove its definition without breaking API because the containing
header lib/common/arith.h is shipped.
Matthew Fernandez [Wed, 7 Apr 2021 05:12:57 +0000 (05:12 +0000)]
Merge branch 'smattr/
BC4B3197-1AC8-4F9E-BCB8-
CDF5BFE64A0D' into 'main'
use smart pointers to clean up Visio::Graphics
See merge request graphviz/graphviz!1878
Matthew Fernandez [Thu, 1 Apr 2021 03:21:38 +0000 (20:21 -0700)]
optimize some size()>0 checks
The implementation of empty() is typically more efficient.
Matthew Fernandez [Thu, 1 Apr 2021 02:12:35 +0000 (19:12 -0700)]
use C++11 in-class member initialization to remove the need for an explicit ctor
This is an equivalent way of saying the same thing.
Matthew Fernandez [Thu, 1 Apr 2021 02:08:44 +0000 (19:08 -0700)]
remove some explicit constructor calls
These constructors are all called implicitly already.
Matthew Fernandez [Thu, 1 Apr 2021 02:05:30 +0000 (19:05 -0700)]
use range-based for loops to clean up some manual iteration
Note that in once instance this modifies a loop that was skipping the first
element to not skip it. But this is a no-op the compiler should see through.
Matthew Fernandez [Thu, 1 Apr 2021 01:55:16 +0000 (18:55 -0700)]
store Graphics as managed pointers in Visio::Render instead of raw pointers
This lets us clean up some manual handling of these and stop worrying about
memory management. Note that Visio::Render::ClearGraphicsAndTexts touched in
this commit is effectively a hand written destructor for this class. Presumably
it was implemented in a time before destructors were standardized. We can likely
move the other collections affected here to using smart pointers too and remove
this function entirely eventually.
Matthew Fernandez [Thu, 1 Apr 2021 01:42:00 +0000 (18:42 -0700)]
take a reference instead of a pointer in Visio::Render::PrintEdgeShape
Similar to the previous commits, this function assumes its input pointer is
non-null, so we may as well use the more convenient C++ syntax for this. This
will also ease some upcoming changes to convert the underlying raw pointers to
smart pointers.
Matthew Fernandez [Thu, 1 Apr 2021 01:38:57 +0000 (18:38 -0700)]
take a reference instead of a pointer in Visio::Render::PrintInnerShape
Similar to the previous commit, this function assumes its input pointer is
non-null, so we may as well use the more convenient C++ syntax for this. This
will also ease some upcoming changes to convert the underlying raw pointers to
smart pointers.
Matthew Fernandez [Thu, 1 Apr 2021 01:36:37 +0000 (18:36 -0700)]
take a reference instead of a pointer in Visio::Render::PrintOuterShape
This function assumes its input pointer is non-null, so we may as well use the
more convenient C++ syntax for this. This will also ease some upcoming changes
to convert the underlying raw pointers to smart pointers.
Matthew Fernandez [Thu, 1 Apr 2021 01:27:50 +0000 (18:27 -0700)]
remove const qualifier on Visio::Graphics
Using a const qualifier on the element type of an STL container is usually an
anti-pattern. In this case, doubly so, because Visio::Render does not treat
elements of such a vector as const.
Matthew Fernandez [Thu, 1 Apr 2021 01:23:45 +0000 (18:23 -0700)]
remove const qualifier from Visio::Render::AddGraphic argument
This pointer is not treated as const internally by Visio::Render. This is a step
towards removing manual memory management of Graphic pointers.
Matthew Fernandez [Tue, 6 Apr 2021 15:36:56 +0000 (15:36 +0000)]
Merge branch 'smattr/
72E0571B-88AC-4CBC-AC52-
ABB391482FDB' into 'main'
fix: do not recognize "&;" as an XML escape sequence
Closes #797
See merge request graphviz/graphviz!1876
Matthew Fernandez [Wed, 31 Mar 2021 04:27:08 +0000 (21:27 -0700)]
fix: do not recognize "&;" as an XML escape sequence
xml_isentity was incorrectly recognizing "&;" as an escape sequence. Despite
vague wording in the standard, it seems fairly clear that &<name>; is only
intended to be a valid escape sequence when <name> is non-empty. Fixes #797.
Note that unfortunately due to #1868, we need to fix this bug four times in
copy-pasted versions of the same function.
Matthew Fernandez [Wed, 31 Mar 2021 04:18:54 +0000 (21:18 -0700)]
add a test case for #797
Matthew Fernandez [Tue, 6 Apr 2021 03:16:31 +0000 (03:16 +0000)]
Merge branch 'smattr/
8D352476-8903-4236-8AE7-
1C1DA75CC4B8' into 'main'
remove internal definitions of NULL
See merge request graphviz/graphviz!1875
Matthew Fernandez [Wed, 31 Mar 2021 02:08:49 +0000 (19:08 -0700)]
remove internal definitions of NULL
ISO C guarantees this to exist via stddef.h or stdlib.h.
Matthew Fernandez [Wed, 31 Mar 2021 02:07:52 +0000 (19:07 -0700)]
include stddef.h in some files that are using NULL
These were relying on picking up NULL through one of their other includes. We
are about to remove some internal definitions of NULL that may affect this, so
adding explicit stddef.h includes guards against these upcoming changes.
Matthew Fernandez [Wed, 31 Mar 2021 02:07:28 +0000 (19:07 -0700)]
remove stray line feed characters
Matthew Fernandez [Wed, 31 Mar 2021 02:06:55 +0000 (19:06 -0700)]
remove unhelpful comment
Matthew Fernandez [Wed, 31 Mar 2021 02:06:40 +0000 (19:06 -0700)]
remove some commented out code
Matthew Fernandez [Sun, 4 Apr 2021 17:30:12 +0000 (17:30 +0000)]
Merge branch 'smattr/
20D31C39-98CB-43AC-89A4-
D37C86FA81E3' into 'main'
clean up lib/twopigen/circle.c
See merge request graphviz/graphviz!1874
Matthew Fernandez [Mon, 29 Mar 2021 04:55:40 +0000 (21:55 -0700)]
swap an unnecessary MAX call for fmax
Matthew Fernandez [Mon, 29 Mar 2021 04:48:50 +0000 (21:48 -0700)]
move some definitions closer to their usage
Matthew Fernandez [Mon, 29 Mar 2021 04:34:38 +0000 (21:34 -0700)]
more precise return type for isLeaf
Matthew Fernandez [Mon, 29 Mar 2021 04:30:40 +0000 (21:30 -0700)]
squash -Wcompare, -Wconversion, -Wsign-convertion warnings
Matthew Fernandez [Mon, 29 Mar 2021 04:26:48 +0000 (21:26 -0700)]
squash some -Wsign-compare warnings