]> granicus.if.org Git - graphviz/log
graphviz
3 years agoStable Release 2.46.1 smattr/63291F41-E610-4E9F-B12E-1566969C0FDA
Matthew Fernandez [Sat, 6 Feb 2021 19:34:28 +0000 (11:34 -0800)]
Stable Release 2.46.1

3 years agoMerge branch 'smattr/DD8B4ECD-399B-4BEF-AD77-3EF40BA4402E' into 'master'
Matthew Fernandez [Sat, 6 Feb 2021 19:23:11 +0000 (19:23 +0000)]
Merge branch 'smattr/DD8B4ECD-399B-4BEF-AD77-3EF40BA4402E' into 'master'

Properly fill graphviz_version.h (!1706 plus test case)

See merge request graphviz/graphviz!1723

3 years agoProperly fill graphviz_version.h
Kevin Funk [Thu, 21 Jan 2021 10:39:01 +0000 (11:39 +0100)]
Properly fill graphviz_version.h

Make sure the variables used inside the header template are populated.

Prior to this patch we ended up with this in the generated
graphviz_version.h:
  #define PACKAGE_VERSION ""

Edit by Matthew Fernandez: Added changelog entry and flipped polarity on the
CMake test case for this.

3 years agoadd a test of PACKAGE_VERSION
Matthew Fernandez [Sun, 31 Jan 2021 17:48:06 +0000 (09:48 -0800)]
add a test of PACKAGE_VERSION

Related to !1706.

3 years agoMerge branch 'smattr/D39EA669-23A2-4D0E-A8BD-7FC55FC1C35E' into 'master'
Matthew Fernandez [Sat, 6 Feb 2021 18:49:51 +0000 (18:49 +0000)]
Merge branch 'smattr/D39EA669-23A2-4D0E-A8BD-7FC55FC1C35E' into 'master'

apply some C99 to vmalloc

See merge request graphviz/graphviz!1722

3 years ago#pragma once instead of old-style header guards in vmalloc
Matthew Fernandez [Sun, 31 Jan 2021 01:25:22 +0000 (17:25 -0800)]
#pragma once instead of old-style header guards in vmalloc

These are supported by all recent compilers.

3 years agoremove Vim modeline markers from vmalloc
Matthew Fernandez [Sun, 31 Jan 2021 01:24:42 +0000 (17:24 -0800)]
remove Vim modeline markers from vmalloc

These have no effect for non-Vim users or Vim users with modeline disabled.
clang-format is a better modern solution to this problem.

3 years agotake advantage of some C99 features in vmalloc
Matthew Fernandez [Sun, 31 Jan 2021 01:21:55 +0000 (17:21 -0800)]
take advantage of some C99 features in vmalloc

3 years agocompile vmalloc tests with C99
Matthew Fernandez [Sun, 31 Jan 2021 02:24:51 +0000 (18:24 -0800)]
compile vmalloc tests with C99

This should have been included in fe3f9411d2c59b463ab1b64eecfd19f2db55d2fc.

3 years agoMerge branch 'smattr/B7B7989C-A893-415A-B27A-B365C1D44997' into 'master'
Matthew Fernandez [Sat, 6 Feb 2021 05:26:49 +0000 (05:26 +0000)]
Merge branch 'smattr/B7B7989C-A893-415A-B27A-B365C1D44997' into 'master'

drop support for Fedora 31

See merge request graphviz/graphviz!1721

3 years agodrop support for Fedora 31
Matthew Fernandez [Sun, 31 Jan 2021 01:00:22 +0000 (17:00 -0800)]
drop support for Fedora 31

Fedora 31 was EOLed in November 2020 [0].

  [0]: https://lists.fedoraproject.org/archives/list/announce@lists.fedoraproject.org/thread/NU5AENRUFG4XK5D34SJN5FZPLYMZF6ZQ/

3 years agomove Fedora CMake testing to Fedora 32
Matthew Fernandez [Sun, 31 Jan 2021 00:56:30 +0000 (16:56 -0800)]
move Fedora CMake testing to Fedora 32

Fedora 31 was EOLed in November 2020 [0].

  [0]: https://lists.fedoraproject.org/archives/list/announce@lists.fedoraproject.org/thread/NU5AENRUFG4XK5D34SJN5FZPLYMZF6ZQ/

3 years agoMerge branch 'smattr/77EC4CE8-9933-43C1-B3BB-B9F65F3901ED' into 'master'
Matthew Fernandez [Sat, 6 Feb 2021 04:32:54 +0000 (04:32 +0000)]
Merge branch 'smattr/77EC4CE8-9933-43C1-B3BB-B9F65F3901ED' into 'master'

remove alternate vsnprintf code

See merge request graphviz/graphviz!1720

3 years agoremove some unnecessary casts
Matthew Fernandez [Sat, 30 Jan 2021 22:00:01 +0000 (14:00 -0800)]
remove some unnecessary casts

3 years agoremove vsnprintf detection
Matthew Fernandez [Sat, 30 Jan 2021 21:58:34 +0000 (13:58 -0800)]
remove vsnprintf detection

We no longer depend on this and simply assume vsnprintf is available.

3 years agoremove alternate vsnprintf paths
Matthew Fernandez [Sat, 30 Jan 2021 21:51:49 +0000 (13:51 -0800)]
remove alternate vsnprintf paths

As of fe3f9411d2c59b463ab1b64eecfd19f2db55d2fc, we build with C99 where
vsnprintf is require. Hence we no longer need other code paths.

3 years agoMerge branch 'smattr/F614351E-E612-4E14-A869-F958C2FDF07E' into 'master'
Matthew Fernandez [Sat, 6 Feb 2021 03:12:28 +0000 (03:12 +0000)]
Merge branch 'smattr/F614351E-E612-4E14-A869-F958C2FDF07E' into 'master'

use release version for generic package version when possible

See merge request graphviz/graphviz!1719

3 years agouse release version for generic package version when possible
Matthew Fernandez [Sat, 30 Jan 2021 21:05:11 +0000 (13:05 -0800)]
use release version for generic package version when possible

This addresses my comment from the 2.46.0 retrospective:

  I realized after the fact that, though the generic package versions have a
  restricted format, our release versions fit that format. I.e. we could have
  the generated 0.0.287364… versions for commit snapshots, but for packages that
  contain a release we could use a version that is the same as the release
  version itself, e.g. 2.46.0.

Now generic packages that correspond to a stable release will get the same
generic package version as the release version itself. This should avoid some
user confusion in future.

3 years agoreorder version computation steps in deployment
Matthew Fernandez [Sat, 30 Jan 2021 21:02:11 +0000 (13:02 -0800)]
reorder version computation steps in deployment

3 years agoabbreviate some use of enumerate()
Matthew Fernandez [Sat, 30 Jan 2021 21:00:59 +0000 (13:00 -0800)]
abbreviate some use of enumerate()

3 years agoMerge branch 'smattr/DA75A76F-4160-460E-8F0E-E2159B71E1C2' into 'master'
Matthew Fernandez [Sat, 6 Feb 2021 01:48:15 +0000 (01:48 +0000)]
Merge branch 'smattr/DA75A76F-4160-460E-8F0E-E2159B71E1C2' into 'master'

migrate test suite to Python 3.6+

Closes #1870

See merge request graphviz/graphviz!1718

3 years agouse f-strings in Python test scripts
Matthew Fernandez [Sat, 2 Jan 2021 03:23:51 +0000 (19:23 -0800)]
use f-strings in Python test scripts

Now that we have Python 3.6 as a base line requirement, we can use f-strings
pervasively. Related to #1870.

3 years agouse Pathlib for path-typed variables in the test suite
Matthew Fernandez [Sat, 2 Jan 2021 04:01:10 +0000 (20:01 -0800)]
use Pathlib for path-typed variables in the test suite

As of Python 3.4, this is the Pythonic way of dealing with file system paths.

3 years agoset a new base line of Python 3.6 for running the test suite
Matthew Fernandez [Sat, 2 Jan 2021 03:20:21 +0000 (19:20 -0800)]
set a new base line of Python 3.6 for running the test suite

Closes #1870.

3 years agoMerge branch 'smattr/19153a68-1b2c-4716-962d-c07b057af4ed' into 'master'
Matthew Fernandez [Fri, 5 Feb 2021 04:41:46 +0000 (04:41 +0000)]
Merge branch 'smattr/19153a68-1b2c-4716-962d-c07b057af4ed' into 'master'

fix: no longer lose \n within quoted strings

Closes #1931

See merge request graphviz/graphviz!1717

3 years agofix: no longer lose \n within quoted strings
Matthew Fernandez [Sat, 30 Jan 2021 03:01:34 +0000 (19:01 -0800)]
fix: no longer lose \n within quoted strings

9bdd24cae96d01fc6b2a940bc87d27edeb5d84a7 addressed a problem where line number
tracking was not working across new line characters embedded within quoted
strings. However it accidentally unmasked another bug involving a parsing rule
that swallowed new lines which was incorrectly enabled within quoted strings.
Fixes #1931.

3 years agotest case for #1931
Matthew Fernandez [Sat, 30 Jan 2021 02:16:35 +0000 (18:16 -0800)]
test case for #1931

3 years agoMerge branch 'smattr/56867813-653e-4fc1-822a-4d4f56154de5' into 'master'
Matthew Fernandez [Wed, 3 Feb 2021 01:32:50 +0000 (01:32 +0000)]
Merge branch 'smattr/56867813-653e-4fc1-822a-4d4f56154de5' into 'master'

fix: add header guard to graphviz_version.h

Closes #1929

See merge request graphviz/graphviz!1716

3 years agofix: add header guard to graphviz_version.h
Matthew Fernandez [Wed, 27 Jan 2021 02:25:09 +0000 (18:25 -0800)]
fix: add header guard to graphviz_version.h

To prevent users #including this multiple times getting compiler warnings.
Closes #1929.

3 years agoMerge branch 'smattr/850CBB25-AAEA-471D-BB06-0C826F1276EF' into 'master'
Matthew Fernandez [Sun, 31 Jan 2021 03:46:32 +0000 (03:46 +0000)]
Merge branch 'smattr/850CBB25-AAEA-471D-BB06-0C826F1276EF' into 'master'

some rtest.py tweaks and generate a .tar.xz portable source

Closes #454

See merge request graphviz/graphviz!1715

3 years agoalso build a .tar.xz archive for distribution
Matthew Fernandez [Mon, 25 Jan 2021 00:48:38 +0000 (16:48 -0800)]
also build a .tar.xz archive for distribution

Closes #454.

3 years agofix: teach rtest.py how to find its default files regardless of CWD
Matthew Fernandez [Mon, 25 Jan 2021 00:24:28 +0000 (16:24 -0800)]
fix: teach rtest.py how to find its default files regardless of CWD

If rtest.py is run from a different directory -- e.g. from a top-level make
check-recursive -- it could not find its default inputs.

3 years agofix: make tools findable by rtest.py in a `make check-recursive`
Matthew Fernandez [Mon, 25 Jan 2021 00:06:51 +0000 (16:06 -0800)]
fix: make tools findable by rtest.py in a `make check-recursive`

3 years agofix path to rtest.py when triggered by `make check-recursive`
Matthew Fernandez [Sun, 24 Jan 2021 23:57:15 +0000 (15:57 -0800)]
fix path to rtest.py when triggered by `make check-recursive`

3 years agoMerge !1714 into master
Matthew Fernandez [Sun, 31 Jan 2021 01:01:49 +0000 (17:01 -0800)]
Merge !1714 into master

3 years agoRemove dead assignments from SparseMatrix_import_matrix_market
Alex Henrie [Mon, 25 Jan 2021 00:39:37 +0000 (17:39 -0700)]
Remove dead assignments from SparseMatrix_import_matrix_market

3 years agoRemove dead assignment from extoken_fn
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from extoken_fn

3 years agoRemove dead assignment from makeDotGraph
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from makeDotGraph

3 years agoRemove dead assignment from GFXinit
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from GFXinit

3 years agoRemove dead assignment from scan_num
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from scan_num

3 years agoRemove dead assignments from mincross_step
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignments from mincross_step

3 years agoRemove dead assignment from SparseMatrix_coordinate_form_add_entries
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from SparseMatrix_coordinate_form_add_entries

3 years agoRemove dead assignment from constrained_majorization_new
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from constrained_majorization_new

3 years agoRemove dead assignments from self(Bottom|Top|Right|Left)
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignments from self(Bottom|Top|Right|Left)

3 years agoRemove dead assignment from parseSegs
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from parseSegs

3 years agoRemove dead assignment from mincross
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from mincross

3 years agoRemove dead assignment from edge_distinct_coloring
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from edge_distinct_coloring

3 years agoRemove dead assignment from map_path
Alex Henrie [Mon, 25 Jan 2021 00:29:35 +0000 (17:29 -0700)]
Remove dead assignment from map_path

3 years agoMerge branch 'smattr/28CF1899-48F1-437D-B47E-F356FBF1EF2B' into 'master'
Matthew Fernandez [Sat, 30 Jan 2021 23:01:57 +0000 (23:01 +0000)]
Merge branch 'smattr/28CF1899-48F1-437D-B47E-F356FBF1EF2B' into 'master'

remove legacy CVS references

See merge request graphviz/graphviz!1712

3 years agoremove legacy CVS references
Matthew Fernandez [Sun, 24 Jan 2021 21:57:55 +0000 (13:57 -0800)]
remove legacy CVS references

Now that Graphviz lives in Git, these references are no longer relevant. Closes
#1798.

3 years agoMerge branch 'smattr/B831E666-D040-4688-8954-B4CA975B36FB' into 'master'
Matthew Fernandez [Sat, 30 Jan 2021 22:17:06 +0000 (22:17 +0000)]
Merge branch 'smattr/B831E666-D040-4688-8954-B4CA975B36FB' into 'master'

fix some unchecked allocations in gxl2gv

Closes #1928

See merge request graphviz/graphviz!1710

3 years agofix: use gcalloc wrapper for some allocations that cannot tolerate failure
Matthew Fernandez [Sun, 24 Jan 2021 18:02:53 +0000 (10:02 -0800)]
fix: use gcalloc wrapper for some allocations that cannot tolerate failure

It would have been nicer to just call the existing gcalloc() in libcommon, but
this is not exported in the MS Build compilation flow and altering this has some
unclear side effects. Related to #1928.

3 years agofix: exit on allocation failure in genUserdata
Matthew Fernandez [Sun, 24 Jan 2021 17:53:57 +0000 (09:53 -0800)]
fix: exit on allocation failure in genUserdata

Closes #1928.

3 years agofix unchecked allocation failure when making an item in gxl2gv
Matthew Fernandez [Sun, 24 Jan 2021 17:52:40 +0000 (09:52 -0800)]
fix unchecked allocation failure when making an item in gxl2gv

The callers of this callback in libcdt can tolerate this function returning
NULL. Related to #1928.

3 years agoMerge !1711 into HEAD
Matthew Fernandez [Sat, 30 Jan 2021 21:43:34 +0000 (13:43 -0800)]
Merge !1711 into HEAD

3 years agoFix potential null pointer dereferences in UniformStressSmoother_new
Alex Henrie [Sun, 24 Jan 2021 20:17:41 +0000 (13:17 -0700)]
Fix potential null pointer dereferences in UniformStressSmoother_new

3 years agoMerge branch 'smattr/18710D9F-BA89-489A-BE10-CBD90E44A0EF' into 'master'
Matthew Fernandez [Sat, 30 Jan 2021 20:16:32 +0000 (20:16 +0000)]
Merge branch 'smattr/18710D9F-BA89-489A-BE10-CBD90E44A0EF' into 'master'

fix typo in pathscross()

Closes #1926

See merge request graphviz/graphviz!1708

3 years agoremove unnecessary bracketing in pathscross()
Matthew Fernandez [Sun, 24 Jan 2021 02:24:53 +0000 (18:24 -0800)]
remove unnecessary bracketing in pathscross()

3 years agofix typo in comparison in pathscross()
Matthew Fernandez [Sun, 24 Jan 2021 02:21:01 +0000 (18:21 -0800)]
fix typo in comparison in pathscross()

This was identified by GCC -Wlogical-op:

  dotsplines.c: In function ‘pathscross’:
  dotsplines.c:2498:32: warning: logical ‘and’ of equal expressions [-Wlogical-op]
       if ((ND_out(n0).size != 1) && (ND_out(n0).size != 1))
                                  ^~

Changes in this commit are the fix suggested by Stephen. Fixes #1926.

3 years agoremove some use of K&R function syntax
Matthew Fernandez [Sun, 24 Jan 2021 02:18:18 +0000 (18:18 -0800)]
remove some use of K&R function syntax

This was deprecated in favor of ANSI syntax some time ago.

3 years agoMerge branch !1709 into HEAD
Matthew Fernandez [Sat, 30 Jan 2021 19:43:03 +0000 (11:43 -0800)]
Merge branch !1709 into HEAD

3 years agochangelog entry for prior commit
Matthew Fernandez [Sat, 30 Jan 2021 19:15:07 +0000 (11:15 -0800)]
changelog entry for prior commit

3 years agoFix bad free in lefty
Alex Henrie [Sun, 24 Jan 2021 20:14:16 +0000 (13:14 -0700)]
Fix bad free in lefty

3 years agoMerge branch 'smattr/3b850695-fd6d-437a-b88f-2d65888d30b9' into 'master'
Matthew Fernandez [Sat, 30 Jan 2021 18:47:35 +0000 (18:47 +0000)]
Merge branch 'smattr/3b850695-fd6d-437a-b88f-2d65888d30b9' into 'master'

move to C99 and C++11

Closes #1832, #1833, and #1924

See merge request graphviz/graphviz!1707

3 years agofix overflow check in sparse
Matthew Fernandez [Sat, 23 Jan 2021 23:05:07 +0000 (15:05 -0800)]
fix overflow check in sparse

Switching to C99 compilation exposes the following compiler warning:

  general.c:364:21: warning: logical ‘or’ of collectively exhaustive tests is always true [-Wlogical-op]
     if (val > INT_MAX || val < INT_MIN) return 0;
                       ^~

This change fixes the comparison to do what seems to have been intended. Related
to #1833.

3 years agoremove cached allocation in userout
Matthew Fernandez [Sat, 23 Jan 2021 22:49:52 +0000 (14:49 -0800)]
remove cached allocation in userout

We can avoid using a static pointer and avoid the allocation loop in this
function by simply leveraging the C99 semantics of vsnprintf. The result is more
readable code. Closes #1924.

3 years agouse C99 standard for compiling C code
Matthew Fernandez [Sat, 2 Jan 2021 18:33:43 +0000 (10:33 -0800)]
use C99 standard for compiling C code

Closes #1833.

3 years agoremove C++11 check when compiling with Qt5
Matthew Fernandez [Sat, 2 Jan 2021 21:55:57 +0000 (13:55 -0800)]
remove C++11 check when compiling with Qt5

The build now requires C++11 at the top level, so any Qt5 code can assume C++11
is available and the relevant compiler flag(s) have already been appended.
Related to #1832.

3 years agorequire C++11 support for compiling
Matthew Fernandez [Sat, 2 Jan 2021 21:54:38 +0000 (13:54 -0800)]
require C++11 support for compiling

Closes #1832.

3 years agofix: stop ignoring changes to m4/*
Matthew Fernandez [Sat, 2 Jan 2021 21:46:14 +0000 (13:46 -0800)]
fix: stop ignoring changes to m4/*

These files are version controlled but were being manually unignored. Thus
changes to any missing entries (e.g. ax_check_compile_flag.m4) went unnoticed.
Now we don't ignore anything in this subdirectory because no generated files are
expected to end up there.

3 years agoMerge branch 'smattr/BE94C9C3-A6E3-4C5F-B6D8-FA00B0FDD413' into 'master'
Matthew Fernandez [Sun, 24 Jan 2021 18:02:18 +0000 (18:02 +0000)]
Merge branch 'smattr/BE94C9C3-A6E3-4C5F-B6D8-FA00B0FDD413' into 'master'

add some details about downstream projects

See merge request graphviz/graphviz!1705

3 years agoadd some details about downstream projects
Matthew Fernandez [Thu, 21 Jan 2021 01:02:02 +0000 (17:02 -0800)]
add some details about downstream projects

3 years agoMerge branch 'smattr/E64BA158-2E02-488E-9F5A-2ADC94C357C6' into 'master'
Matthew Fernandez [Sun, 24 Jan 2021 02:17:42 +0000 (02:17 +0000)]
Merge branch 'smattr/E64BA158-2E02-488E-9F5A-2ADC94C357C6' into 'master'

fix: suppress re-running CI on tagged commits

Closes #1901

See merge request graphviz/graphviz!1703

3 years agofix: suppress re-running CI on tagged commits
Matthew Fernandez [Sun, 17 Jan 2021 02:33:33 +0000 (18:33 -0800)]
fix: suppress re-running CI on tagged commits

Several tasks in the CI setup were allowed to run on tagged commits. This meant
that pushing a new tag would result in re-running CI on the tagged commit. This
was already confusing, but was compounded by these unrestricted tasks depending
on non-tag-only tasks. The result was that CI would stall and fail because
dependencies could not be satisfied.

To fix this we simply disallow all CI on a tag. This means that a tagged commit
that is not on any branch will not be tested. However, no one should be pushing
such a commit to the Graphviz repository. All tagged commits that are on a
branch will be tested via their SHA. This is not expected to cause any problems
as the Graphviz build system never checks the Git tag or whether a commit is
tagged at all.

Fixes #1901.

3 years agoMerge branch 'smattr/480984E2-F863-4F4B-8813-9EFB371B8CCC' into 'master'
Matthew Fernandez [Sun, 24 Jan 2021 01:13:20 +0000 (01:13 +0000)]
Merge branch 'smattr/480984E2-F863-4F4B-8813-9EFB371B8CCC' into 'master'

document how to build Graphviz for developers

See merge request graphviz/graphviz!1700

3 years agodocument how to build Graphviz for developers
Matthew Fernandez [Thu, 7 Jan 2021 03:36:12 +0000 (19:36 -0800)]
document how to build Graphviz for developers

3 years agoMerge !1699
Matthew Fernandez [Sun, 24 Jan 2021 00:38:48 +0000 (16:38 -0800)]
Merge !1699

3 years agoadd changelog item about prior commits
Matthew Fernandez [Sat, 23 Jan 2021 23:51:45 +0000 (15:51 -0800)]
add changelog item about prior commits

3 years agoFix memory leak in make_map_internal
Alex Henrie [Sat, 9 Jan 2021 09:02:07 +0000 (02:02 -0700)]
Fix memory leak in make_map_internal

3 years agoFix memory leak in gv_get_ps_fontlist
Alex Henrie [Thu, 7 Jan 2021 03:35:57 +0000 (20:35 -0700)]
Fix memory leak in gv_get_ps_fontlist

3 years agoFix memory leaks in Multilevel_(MQ|Modularity)_Clustering_establish
Alex Henrie [Thu, 7 Jan 2021 03:35:57 +0000 (20:35 -0700)]
Fix memory leaks in Multilevel_(MQ|Modularity)_Clustering_establish

3 years agoMerge branch 'smattr/529f1002-e2fa-4706-ba00-2b3ad0811c15' into 'master'
Matthew Fernandez [Sat, 23 Jan 2021 23:46:53 +0000 (23:46 +0000)]
Merge branch 'smattr/529f1002-e2fa-4706-ba00-2b3ad0811c15' into 'master'

unify and correct RectArea implementations

Closes #1906

See merge request graphviz/graphviz!1697

3 years agofix: unify and correct RectArea implementations
Matthew Fernandez [Sat, 12 Dec 2020 16:45:19 +0000 (08:45 -0800)]
fix: unify and correct RectArea implementations

Two implementations of RectArea were provided that implemented the overflow
check based on whether there was a larger type than unsigned int available. It
is unnecessary to maintain multiple implementations of this as the overflow
check can be written in a width-independent way.

Moreover the `LLONG_MAX > UINT_MAX` alternative was incorrect. E.g. on x86-64
where this alternative is used, if `r->boundary[i + NUMDIMS] - r->boundary[i]`
is `UINT_MAX` and the accumulated value in `a_test` is `(long long)UINT_MAX`,
the multiplication (which is done on operands promoted to long long) overflows
causing undefined behavior. In practice, you would likely get a negative value,
that then erroneously passes the overflow check.

Related to #1898. Fixes #1906.

3 years agofix: remove Circo test of root.gv from rtest.py-tested graphs
Matthew Fernandez [Mon, 28 Dec 2020 03:13:58 +0000 (19:13 -0800)]
fix: remove Circo test of root.gv from rtest.py-tested graphs

This graph generates an overflow when computing the area of rectangles required
to layout it out. It should be rejected but it currently incorrectly is not.
Related to #1906.

3 years agoMerge branch 'smattr/AB3ED35D-6FC9-4811-92FB-9C0FB6F5E9E4' into 'master'
Matthew Fernandez [Sat, 23 Jan 2021 23:14:25 +0000 (23:14 +0000)]
Merge branch 'smattr/AB3ED35D-6FC9-4811-92FB-9C0FB6F5E9E4' into 'master'

Autotools build system support for Guile 2.2

See merge request graphviz/graphviz!1696

3 years agosupport Guile 2.2 in the Autotools build system
Matthew Fernandez [Sun, 27 Dec 2020 22:19:27 +0000 (14:19 -0800)]
support Guile 2.2 in the Autotools build system

The build system detection of Guile was relying on a binary named guile-config.
As of Guile 2.2, coexisting versions of Guile are supported and so the
guile-config binary is suffixed with its version. The result of this mismatch
was that the build system would fail to detect Guile 2.2 on platforms that did
not provide a guile-config redirection shim.

Guile 3.0 has already been out for awhile, but this commit does not add support
for it. The devel packages for it do not seem yet available on any major Linux
distro. We should extend this support to 3.0 when it becomes more widely
available if Graphviz' use of Guile is compatible. Related to #1885.

3 years agofix: lookup Guile version by guile-config, not guile
Matthew Fernandez [Sun, 27 Dec 2020 22:50:32 +0000 (14:50 -0800)]
fix: lookup Guile version by guile-config, not guile

The Autotools build system was using the binary "guile" to detect what version
of Guile to build and link against. However, this is the Guile runtime system,
not the Guile developer dependencies. The effect of this was that the build
system could detect e.g. Guile 2.0 when guile20-devel was not installed. Related
to #1885.

3 years agoremove legacy Python 2 comments in Dockerfiles
Matthew Fernandez [Sun, 27 Dec 2020 21:18:27 +0000 (13:18 -0800)]
remove legacy Python 2 comments in Dockerfiles

These look to have been copied from Dockerfiles for other OSes that install
python2-devel or its equivalent. However, these ones do not so this comment does
not belong here.

3 years agoMerge cherry-picked commits from !1695
Matthew Fernandez [Sat, 23 Jan 2021 22:40:25 +0000 (14:40 -0800)]
Merge cherry-picked commits from !1695

3 years agoignore (or for one internal function remove) unused params
Ed J [Sat, 26 Dec 2020 19:12:36 +0000 (19:12 +0000)]
ignore (or for one internal function remove) unused params

3 years agofix a comment typo
Ed J [Sat, 26 Dec 2020 19:10:16 +0000 (19:10 +0000)]
fix a comment typo

3 years agoignore more generated files
Ed J [Fri, 25 Dec 2020 14:58:53 +0000 (14:58 +0000)]
ignore more generated files

3 years agoMerge branch 'smattr/D2B1FED2-41ED-4F48-81E6-B421639BB5EE' into 'master'
Matthew Fernandez [Sat, 23 Jan 2021 21:55:17 +0000 (21:55 +0000)]
Merge branch 'smattr/D2B1FED2-41ED-4F48-81E6-B421639BB5EE' into 'master'

some clean up of the HTML lexer

Closes #1913

See merge request graphviz/graphviz!1694

3 years agoremove some unnecessary bracketing in the HTML lexer
Matthew Fernandez [Sat, 26 Dec 2020 01:20:13 +0000 (17:20 -0800)]
remove some unnecessary bracketing in the HTML lexer

3 years agoremove micro-optimizations in HTML lexer
Matthew Fernandez [Sat, 26 Dec 2020 01:16:16 +0000 (17:16 -0800)]
remove micro-optimizations in HTML lexer

This code was attempting to avoid an expensive call to strcasecmp when the first
byte already indicates a mismatch. Modern compilers can perform this
optimization themselves, including inlining strcasecmp and unrolling and
vectorizing its loop. Manually comparing the first byte actually impedes the
compiler because it's harder for it to see your intent. Related to #1913.

3 years agofix incorrect parsing of ALIGN attribute in a <BR> HTML tag
Matthew Fernandez [Sat, 26 Dec 2020 21:26:00 +0000 (13:26 -0800)]
fix incorrect parsing of ALIGN attribute in a <BR> HTML tag

The logical operators here were incorrect. Rather than flipping them to the
correct operators, we undo this micro-optimization and write this code in a more
obvious manner. Fixes #1913.

3 years agotest case for #1913
Matthew Fernandez [Sat, 26 Dec 2020 21:20:59 +0000 (13:20 -0800)]
test case for #1913

3 years agoremove a Vim modeline
Matthew Fernandez [Sat, 26 Dec 2020 01:12:34 +0000 (17:12 -0800)]
remove a Vim modeline

This is only relevant for Vim users that have modeline support enabled and adds
clutter to the file.

3 years agouse libc limit constants instead of defining our own
Matthew Fernandez [Sat, 26 Dec 2020 01:11:12 +0000 (17:11 -0800)]
use libc limit constants instead of defining our own

These are available in the C standard library even prior to C89. This change has
no effect on functionality, as the replaced constants have identical values.

3 years agoremove a legacy RCS tag
Matthew Fernandez [Sat, 26 Dec 2020 01:09:20 +0000 (17:09 -0800)]
remove a legacy RCS tag

Related to #1798.