]> granicus.if.org Git - graphviz/log
graphviz
3 years agoAdd regression test
Rob Hart [Sat, 19 Dec 2020 22:14:22 +0000 (14:14 -0800)]
Add regression test

Edit by Matthew Fernandez: moved this commit ahead of the one that fixes the bug
and marked the test case as expected to fail. This allows us to more accurately
confirm the bug exists and its fix works as intended, while still leaving the
commit series bisectable.

3 years agoMerge branch 'smattr/50D4C953-08DB-4F48-97AF-17EAE740053D' into 'master'
Matthew Fernandez [Wed, 13 Jan 2021 15:09:15 +0000 (15:09 +0000)]
Merge branch 'smattr/50D4C953-08DB-4F48-97AF-17EAE740053D' into 'master'

fix repeated agmemreads failing

Closes #1910

See merge request graphviz/graphviz!1693

3 years agofix repeated agmemreads failing
Matthew Fernandez [Tue, 22 Dec 2020 03:08:33 +0000 (19:08 -0800)]
fix repeated agmemreads failing

This reverts commits 429718cb387092b5bf81850ac97d18ca34149055 but with a
slightly different variant of the macro hack that avoids subsequent sed
replacement steps. I had several false starts at this fix, so let's detail what
did not work:

  1. We cannot implement an always-no-answering isatty() locally or redirect
     isatty() to another function, because Flex calls isatty(fileno(f)) and our
     "FILE" from SFIO does not provide this. On operating systems where fileno()
     references an offset in the FILE struct (e.g. macOS) this causes a
     segfault. So we need to suppress the entire argument to isatty(), not just
     the call to it.

  2. Versions of Flex prior to 2.5.39 emit a spurious extern declaration [0]. If
     we reverted 429718cb387092b5bf81850ac97d18ca34149055 as-is, we would have
     also had to revert 3b00c1fc6b949cc9744d075e0d2b2ed4b1c46763. However, even
     this would not be enough because we now support a CMake build, so we would
     have to introduce a corresponding find-and-replace step in
     lib/cgraph/CMakeLists.txt. Rather than do this, I came up with a different
     macro replacement that still makes isatty() calls evaluate to 0 but does
     not require other find-and-replace steps.

  3. Although Flex 2.5.39 was released almost a decade ago, we cannot easily
     drop support for prior versions of Flex. The latest version of Apple XCode
     ships Flex 2.5.35 and is unlikely to upgrade any time soon. This means most
     macOS users have Flex 2.5.35 without realizing it. Compounding the problem,
     the files generated by Flex #include headers that ship with Flex, so even
     macOS users who have a newer version of Flex via Homebrew/Macports may
     accidentally have the Flex 2.5.35 headers in their include path. The path
     of least irritation to our downstream macOS users appear to be retaining
     Flex 2.5.35 support.

Fixes #1910. The underlying problem here still exists: with `never-interactive`
set in the lib/cgraph/scan.l lexer, we are somehow not resetting internal state
in between lexer invocations. I suspect this will return as an issue in future
and we will have to more thoroughly debug this.

  [0]: Fixed upstream in Flex, but only made it into release 2.5.39:
    https://github.com/westes/flex/commit/7ef69b02e6969d1a0372e1d4ee8cb3b51519dc62

3 years agotest case for #1910
Matthew Fernandez [Tue, 22 Dec 2020 02:39:02 +0000 (18:39 -0800)]
test case for #1910

3 years agoMerge branch 'smattr/48e9426c-8dbf-4ae9-8bf0-1f39f4608ad7' into 'master'
Matthew Fernandez [Tue, 12 Jan 2021 01:18:19 +0000 (01:18 +0000)]
Merge branch 'smattr/48e9426c-8dbf-4ae9-8bf0-1f39f4608ad7' into 'master'

revert changes to add non-local names to internal map

Closes #1876

See merge request graphviz/graphviz!1686

3 years agorevert changes to add non-local names to internal map
Matthew Fernandez [Sun, 29 Nov 2020 21:21:00 +0000 (13:21 -0800)]
revert changes to add non-local names to internal map

Merge Request !1489 made a change to which names were stored in the internal
map. Following this, non-local names (user-provided ones; not starting with '%')
were stored in the internal map as well as local names. This inadvertently broke
some fdp and circo assumptions (#1876, #1877, !1676).

This change reverts the main pieces of the following commits, resolving #1876,
#1877, and #1909, while re-opening #1767 and #1789.
  * 4f283dd1c02a6a4999b53ad2fcbf2264a7074a8b
  * 85b09cf13179b0e5ab8bddb4857e3d2af0a39a31
  * 9409324489a69557229d3d6f505857b9af85a913
  * 2a9449a99b2a2146fce01fa1d9713e999ad3dd4e
  * 14be5169ef49faad0f30cd9d36cdd438e1739f77
  * b6ffeca3a4457efcffbc3fcdbcee683375f74d05

We will need to find a different solution to #1767.

3 years agoadd a test case for #1909
Matthew Fernandez [Sat, 26 Dec 2020 18:14:22 +0000 (10:14 -0800)]
add a test case for #1909

3 years agoadd a test case for #1876
Matthew Fernandez [Thu, 19 Nov 2020 03:16:40 +0000 (19:16 -0800)]
add a test case for #1876

3 years agoadd a test case for #1877
Matthew Fernandez [Thu, 19 Nov 2020 03:10:15 +0000 (19:10 -0800)]
add a test case for #1877

3 years agofix: require exactly \d+.\d+.\d+ for a release version
Matthew Fernandez [Sat, 9 Jan 2021 20:03:53 +0000 (12:03 -0800)]
fix: require exactly \d+.\d+.\d+ for a release version

This regex was incorrectly checking for anything *starting* with this pattern.
As a result, versions like "2.44.2~dev.20210109.1932" would pass this check.
Related to #1892.

3 years agofix: handle --version not being passed to deployment script
Matthew Fernandez [Sat, 9 Jan 2021 19:32:12 +0000 (11:32 -0800)]
fix: handle --version not being passed to deployment script

b443b70a828a34c79c71e41af9cb2eab7b950a14 incorrectly did not anticipate neither
the --force nor --version flags being passed to the deployment script.
Unfortunately I failed to notice this because I was testing using --force and
there was no easy way to test the final work flow until merging to master.

There is also no easy way to test this commit before being merged. I have run
pylint, but after that just need to cross my fingers.

Related to #1892.

3 years agoMerge branch 'smattr/F5C5A183-1A9A-4363-8DBB-331CC44CDBA7' into 'master'
Matthew Fernandez [Sat, 9 Jan 2021 19:01:37 +0000 (19:01 +0000)]
Merge branch 'smattr/F5C5A183-1A9A-4363-8DBB-331CC44CDBA7' into 'master'

rewrite deployment CI task to create releases on Gitlab

Closes #1892

See merge request graphviz/graphviz!1689

4 years agorewrite deployment CI task to create releases on Gitlab
Matthew Fernandez [Tue, 1 Dec 2020 15:02:30 +0000 (07:02 -0800)]
rewrite deployment CI task to create releases on Gitlab

Prior to this commit, the deployment CI task runs on a private runner and
uploads release artifacts to www2.graphviz.org. The SSH steps in the deployment
task are currently failing due to connectivity issues. The current maintainers
are unable to fix this as we do not have enough knowledge of how this work flow
was intended to function.

Apart from these concerns, Gitlab have recently introduced support for so-called
“generic packages” [0] to host binary artifacts directly on Gitlab (or its
underlying CDN) as well as the ability to programmatically create releases [1]
on the releases page of a project. The decision was made to simplify the
Graphviz infrastructure and host future releases (both stable and development)
on Gitlab.

This change rewrites the deployment task to (1) run on the Gitlab shared runner
using a release-cli Docker image, (2) upload package artifacts to Graphviz'
generic package, and (3) create a release from this for stable version numbers.

To comprehend the role the generic package container is playing here, note that
generic package version numbers are synthesized from commit SHA and are not
intended to be exposed to users. Users can browse the generic package page [2],
but are only ever expected to be interested in the latest version available
here. In contrast, version numbers on the release page [3] are intended to
correspond to Graphviz stable version numbers. ci/deploy.py handles mapping a
release on this page to its related (synthesized) generic package version.

Closes #1892.

  [0]: https://docs.gitlab.com/ee/user/packages/generic_packages/index.html
  [1]: https://gitlab.com/gitlab-org/release-cli/-/blob/master/docs/index.md
  [2]: https://gitlab.com/graphviz/graphviz/-/packages
  [3]: https://gitlab.com/graphviz/graphviz/-/releases

4 years agofix doc typo
Matthew Fernandez [Thu, 10 Dec 2020 04:35:41 +0000 (20:35 -0800)]
fix doc typo

4 years agoMerge branch 'master' into 'master'
Matthew Fernandez [Thu, 10 Dec 2020 04:57:00 +0000 (04:57 +0000)]
Merge branch 'master' into 'master'

Trivial fixes

See merge request graphviz/graphviz!1687

4 years agoMerge branch 'add-ubuntu-20.10-builds' into 'master'
Magnus Jacobsson [Sun, 6 Dec 2020 09:02:38 +0000 (09:02 +0000)]
Merge branch 'add-ubuntu-20.10-builds' into 'master'

Add Ubuntu 20.10 jobs to CI

See merge request graphviz/graphviz!1669

4 years agoAdd missing parentheses to RectArea calculation.
Rob Hart [Thu, 3 Dec 2020 10:48:32 +0000 (02:48 -0800)]
Add missing parentheses to RectArea calculation.

4 years agoAdd regression test for issue 1898
Rob Hart [Thu, 3 Dec 2020 10:45:41 +0000 (02:45 -0800)]
Add regression test for issue 1898

4 years agoAvoid division by zero for zero-width rectangles
Rob Hart [Tue, 1 Dec 2020 22:40:47 +0000 (14:40 -0800)]
Avoid division by zero for zero-width rectangles

4 years agoInitialise ip to avoid compiler warning.
Rob Hart [Tue, 1 Dec 2020 20:06:59 +0000 (12:06 -0800)]
Initialise ip to avoid compiler warning.

4 years agoMerge branch 'symlinks-1753' into 'master'
Magnus Jacobsson [Sun, 29 Nov 2020 19:16:07 +0000 (19:16 +0000)]
Merge branch 'symlinks-1753' into 'master'

Add some missing tools

See merge request graphviz/graphviz!1674

4 years agoUpdate changelog
Magnus Jacobsson [Sun, 29 Nov 2020 17:46:14 +0000 (18:46 +0100)]
Update changelog

4 years agoAdd copy of dot to circo, fdp, neato, osage, patchwork, sfdp & twopi for MSBuild...
Magnus Jacobsson [Sun, 15 Nov 2020 15:27:11 +0000 (16:27 +0100)]
Add copy of dot to circo, fdp, neato, osage, patchwork, sfdp & twopi for MSBuild builds

4 years agoRemove surplus / character in path to dot on Windows
Magnus Jacobsson [Sun, 15 Nov 2020 16:03:40 +0000 (17:03 +0100)]
Remove surplus / character in path to dot on Windows

The delimiter is \ on Windows and it is already included in
$(OutDir);

4 years agoRemove gv2gml from tools_not_built_with_cmake
Magnus Jacobsson [Sun, 15 Nov 2020 15:15:13 +0000 (16:15 +0100)]
Remove gv2gml from tools_not_built_with_cmake

4 years agoRemove circo, fdp, neato, osage, patchwork, sfdp & twopi from tools_not_built_with_cmake
Magnus Jacobsson [Sun, 15 Nov 2020 15:14:41 +0000 (16:14 +0100)]
Remove circo, fdp, neato, osage, patchwork, sfdp & twopi from tools_not_built_with_cmake

4 years agoAdded gv2gml symlink/copy to gml2gv
Bob Apthorpe [Tue, 21 Jul 2020 22:44:35 +0000 (17:44 -0500)]
Added gv2gml symlink/copy to gml2gv

4 years agoInstalls dot copies (WIN32) and symlinks
Bob Apthorpe [Tue, 21 Jul 2020 17:54:20 +0000 (12:54 -0500)]
Installs dot copies (WIN32) and symlinks

4 years agoMerge branch 'fix-1875-and-enable-all-warnings-for-non-msvc-cmake-builds' into 'master'
Magnus Jacobsson [Sun, 29 Nov 2020 17:32:05 +0000 (17:32 +0000)]
Merge branch 'fix-1875-and-enable-all-warnings-for-non-msvc-cmake-builds' into 'master'

Fix 1875 and enable all warnings for non MSVC CMake builds

Closes #1875

See merge request graphviz/graphviz!1679

4 years agoEnable all warnings for non-MSVC CMake builds
Magnus Jacobsson [Sat, 31 Oct 2020 08:23:50 +0000 (09:23 +0100)]
Enable all warnings for non-MSVC CMake builds

4 years agoFix missing return NULL and remove 1 -Wunused-but-set-variable warning in mmio.c
Magnus Jacobsson [Sat, 7 Nov 2020 14:13:04 +0000 (15:13 +0100)]
Fix missing return NULL and remove 1 -Wunused-but-set-variable warning in mmio.c

Fixes https://gitlab.com/graphviz/graphviz/-/issues/1875 although this
problem does not currently manifest itself since the
mm_typecode_to_str function is only used in functions writing Matrix
Market files which none of the Graphviz tools currently does.

4 years agoMerge branch 'remove-warnings-and-fix-minor-issues' into 'master'
Magnus Jacobsson [Sun, 29 Nov 2020 15:44:19 +0000 (15:44 +0000)]
Merge branch 'remove-warnings-and-fix-minor-issues' into 'master'

Remove warnings and fix minor issues

Closes #1869

See merge request graphviz/graphviz!1678

4 years agoCorrect spelling in comment
Magnus Jacobsson [Mon, 9 Nov 2020 19:12:46 +0000 (20:12 +0100)]
Correct spelling in comment

4 years agoRemove1 -Wuninitialized warning in postproc.c
Magnus Jacobsson [Sun, 8 Nov 2020 10:14:47 +0000 (11:14 +0100)]
Remove1 -Wuninitialized warning in postproc.c

The 'pos' value is ignored in the addXLabel function since 'initObj'
is 0.

4 years agoAdd regression test case for gml2gv
Magnus Jacobsson [Mon, 9 Nov 2020 17:28:53 +0000 (18:28 +0100)]
Add regression test case for gml2gv

Related to #1869.

4 years agoCorrect width definition in GML parser
Magnus Jacobsson [Sun, 8 Nov 2020 10:02:56 +0000 (11:02 +0100)]
Correct width definition in GML parser

It's unclear if this caused any problem.

4 years agoFix gml2gv style and width parsing
Magnus Jacobsson [Sun, 8 Nov 2020 10:01:40 +0000 (11:01 +0100)]
Fix gml2gv style and width parsing

Fixes https://gitlab.com/graphviz/graphviz/-/issues/1869.

Also removes 2 -Wtautological-overlap-compare warnings.

4 years agoRemove 1 -Wsometimes-uninitialized warning in ortho.c
Magnus Jacobsson [Sun, 8 Nov 2020 08:38:13 +0000 (09:38 +0100)]
Remove 1 -Wsometimes-uninitialized warning in ortho.c

4 years agoRemove 1 -Wself-assign warning in edge_bundling.c
Magnus Jacobsson [Sun, 8 Nov 2020 08:23:20 +0000 (09:23 +0100)]
Remove 1 -Wself-assign warning in edge_bundling.c

4 years agoRemove 1 -Wunused-function warning in nearest_neighbor_graph_ann.cpp
Magnus Jacobsson [Sat, 7 Nov 2020 15:15:14 +0000 (16:15 +0100)]
Remove 1 -Wunused-function warning in nearest_neighbor_graph_ann.cpp

4 years agoRemove 1 -Wmaybe-uninitialized warning in ink.c
Magnus Jacobsson [Sat, 7 Nov 2020 15:11:57 +0000 (16:11 +0100)]
Remove 1 -Wmaybe-uninitialized warning in ink.c

Most certainly the unitialized values were not intended to used by the
callers since the return value of the function in this case is set to
a "large" value to indicate failure and the callers have assertions
that seems to guard from using such values by mistake (although a
thorough understanding of the algorithm and minimum ink values are
needed to prove this).

Altough the original author seems to have intended to set them to the
mid point, perhaps as a precautionary measure, the assigment has been
removed and new assertions has been added to the relevant call sites
to garantee that they are never used.

4 years agoCorrect assertion and remove 1 -Wparentheses warning in agglomerative_bundling.c
Magnus Jacobsson [Sat, 7 Nov 2020 14:57:07 +0000 (15:57 +0100)]
Correct assertion and remove 1 -Wparentheses warning in agglomerative_bundling.c

4 years agoRemove 1 -Wunused-function warning in gmlscan.l
Magnus Jacobsson [Sat, 7 Nov 2020 14:30:36 +0000 (15:30 +0100)]
Remove 1 -Wunused-function warning in gmlscan.l

4 years agoRemove 1 -Wunused-function warning in scan.l
Magnus Jacobsson [Sat, 7 Nov 2020 14:26:14 +0000 (15:26 +0100)]
Remove 1 -Wunused-function warning in scan.l

4 years agoRemove 2 -Wunused-but-set-variable warnings in graph_generator.c
Magnus Jacobsson [Sat, 7 Nov 2020 14:19:23 +0000 (15:19 +0100)]
Remove 2 -Wunused-but-set-variable warnings in graph_generator.c

4 years agoRemove 2 -Wunused-function warning in gvrender_gd.c
Magnus Jacobsson [Sat, 7 Nov 2020 14:12:02 +0000 (15:12 +0100)]
Remove 2 -Wunused-function warning in gvrender_gd.c

4 years agoRemove 2 -Wunused-variable warnings in gvrender_gd.c
Magnus Jacobsson [Sat, 7 Nov 2020 14:01:44 +0000 (15:01 +0100)]
Remove 2 -Wunused-variable warnings in gvrender_gd.c

4 years agoRemove 2 -Wunused-but-set-variable warnings in gvrender_gd.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:59:00 +0000 (14:59 +0100)]
Remove 2 -Wunused-but-set-variable warnings in gvrender_gd.c

4 years agoRemove 2 -Wunused-but-set-variable warnings in gvrender_core_vml.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:57:09 +0000 (14:57 +0100)]
Remove 2 -Wunused-but-set-variable warnings in gvrender_core_vml.c

4 years agoRemove 3 -Wunused-but-set-variable warnings in gvrender_core_pic.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:56:14 +0000 (14:56 +0100)]
Remove 3 -Wunused-but-set-variable warnings in gvrender_core_pic.c

4 years agoRemove some commented out code in gvrender_core_pic.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:55:02 +0000 (14:55 +0100)]
Remove some commented out code in gvrender_core_pic.c

4 years agoRemove 1 -Wunused-but-set-variable warning in gvrender_core_json.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:52:05 +0000 (14:52 +0100)]
Remove 1 -Wunused-but-set-variable warning in gvrender_core_json.c

4 years agoRemove 1 -Wunused-but-set-variable warning in gvdevice.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:51:09 +0000 (14:51 +0100)]
Remove 1 -Wunused-but-set-variable warning in gvdevice.c

4 years agoRemove 1 -Wunused-but-set-variable warning in node.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:32:55 +0000 (14:32 +0100)]
Remove 1 -Wunused-but-set-variable warning in node.c

4 years agoRemove 1 -Wunused-but-set-variable warning in edge.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:32:16 +0000 (14:32 +0100)]
Remove 1 -Wunused-but-set-variable warning in edge.c

4 years agoRemove 1 -Wunused-but-set-variable warning in twopiinit.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:30:19 +0000 (14:30 +0100)]
Remove 1 -Wunused-but-set-variable warning in twopiinit.c

4 years agoRemove 3 -Wunused-but-set-variable warnings in post_process.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:29:21 +0000 (14:29 +0100)]
Remove 3 -Wunused-but-set-variable warnings in post_process.c

4 years agoRemove 6 -Wunused-but-set-variable warnings in Multilevel.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:25:12 +0000 (14:25 +0100)]
Remove 6 -Wunused-but-set-variable warnings in Multilevel.c

4 years agoRemove 2 -Wunused-but-set-variable warnings in SparseMatrix.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:15:31 +0000 (14:15 +0100)]
Remove 2 -Wunused-but-set-variable warnings in SparseMatrix.c

4 years agoRemove 2 -Wunused-but-set-variable warnings in DotIO.c
Magnus Jacobsson [Sat, 7 Nov 2020 13:14:04 +0000 (14:14 +0100)]
Remove 2 -Wunused-but-set-variable warnings in DotIO.c

4 years agoCorrect assertion and remove 1 -Wparentheses warning in BinaryHeap.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:57:56 +0000 (13:57 +0100)]
Correct assertion and remove 1 -Wparentheses warning in BinaryHeap.c

Note the operator is changed from assigment to *inequality*. From the
surrounding code it's apparent that the intent was to check that no -1
values are left in the mask array (equality to 1 would also have been
correct).

4 years agoRemove 1 -Wunused-but-set-variable warning in partition.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:52:59 +0000 (13:52 +0100)]
Remove 1 -Wunused-but-set-variable warning in partition.c

4 years agoRemove 2 -Wunused-but-set-variable warnings in ortho.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:51:51 +0000 (13:51 +0100)]
Remove 2 -Wunused-but-set-variable warnings in ortho.c

4 years agoRemove 1 -Wunused-but-set-variable warning in maze.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:51:07 +0000 (13:51 +0100)]
Remove 1 -Wunused-but-set-variable warning in maze.c

4 years agoRemove 1 -Wunused-but-set-variable warning in neatosplines.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:50:25 +0000 (13:50 +0100)]
Remove 1 -Wunused-but-set-variable warning in neatosplines.c

4 years agoRemove 1 -Wunused-but-set-variable warning in compute_hierarchy.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:50:00 +0000 (13:50 +0100)]
Remove 1 -Wunused-but-set-variable warning in compute_hierarchy.c

4 years agoRemove 2 -Wunused-but-set-variable warnings in dotsplines.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:42:44 +0000 (13:42 +0100)]
Remove 2 -Wunused-but-set-variable warnings in dotsplines.c

4 years agoRemove 1 -Wunused-but-set-variable warning in aspect.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:40:49 +0000 (13:40 +0100)]
Remove 1 -Wunused-but-set-variable warning in aspect.c

4 years agoFix handling of epsf file read error in psusershape.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:39:54 +0000 (13:39 +0100)]
Fix handling of epsf file read error in psusershape.c

Also removes 1 -Wunused-but-set-variable warning

4 years agoRemove 4 -Wunused-function warnings in ns.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:39:09 +0000 (13:39 +0100)]
Remove 4 -Wunused-function warnings in ns.c

4 years agoRemove 1 -Wunused-but-set-variable warning in dtview.c
Magnus Jacobsson [Sat, 7 Nov 2020 12:37:41 +0000 (13:37 +0100)]
Remove 1 -Wunused-but-set-variable warning in dtview.c

4 years agoMerge branch 'smattr/614456fd-ae2a-4243-93d1-e2fa5ee18cc0' into 'master'
Matthew Fernandez [Sun, 15 Nov 2020 01:09:06 +0000 (01:09 +0000)]
Merge branch 'smattr/614456fd-ae2a-4243-93d1-e2fa5ee18cc0' into 'master'

fix concentrate=true segfaults

Closes #1771 and #167

See merge request graphviz/graphviz!1664

4 years agoremove comparison against boolean literals in conc.c
Matthew Fernandez [Sun, 8 Nov 2020 23:03:57 +0000 (15:03 -0800)]
remove comparison against boolean literals in conc.c

4 years agoremove unnecessary bracketing in conc.c
Matthew Fernandez [Sun, 8 Nov 2020 23:02:55 +0000 (15:02 -0800)]
remove unnecessary bracketing in conc.c

4 years agofix: anticipate no non-normal edges when computing direction with concentrate
Matthew Fernandez [Sun, 8 Nov 2020 22:56:27 +0000 (14:56 -0800)]
fix: anticipate no non-normal edges when computing direction with concentrate

With concentrate enabled (`concentrate=true`), the direction of edges is
analyzed in lib/dotgen/conc.c. The loops in `samedir()` did not anticipate that
they may not find a single non-normal edge before hitting the end of an edge
chain. This change removes this assumption.

Fixes #167, #1771.

4 years agoMerge branch 'smattr/c15b6722-05d6-4d5f-9e5f-34bc637d7ad9' into 'master'
Matthew Fernandez [Sat, 14 Nov 2020 03:02:25 +0000 (03:02 +0000)]
Merge branch 'smattr/c15b6722-05d6-4d5f-9e5f-34bc637d7ad9' into 'master'

minor modernization in libvpsc

See merge request graphviz/graphviz!1662

4 years agoremove use of std::endl in VPSC
Matthew Fernandez [Sat, 7 Nov 2020 21:27:58 +0000 (13:27 -0800)]
remove use of std::endl in VPSC

Use of std::endl is generally considered an anti-pattern these days.

4 years agomake VPSC debugging code visible to the compiler
Matthew Fernandez [Sat, 7 Nov 2020 21:18:21 +0000 (13:18 -0800)]
make VPSC debugging code visible to the compiler

The compiler can still optimize this out, but this way we ensure it always stays
compilable and consistent with the surrounding code.

4 years agoremove unnecessary ifdef guards
Matthew Fernandez [Sat, 7 Nov 2020 20:45:40 +0000 (12:45 -0800)]
remove unnecessary ifdef guards

4 years agoMerge branch 'smattr/174FAE10-334A-4463-A0AD-FE61C51E45D8' into 'master'
Matthew Fernandez [Sat, 14 Nov 2020 02:32:47 +0000 (02:32 +0000)]
Merge branch 'smattr/174FAE10-334A-4463-A0AD-FE61C51E45D8' into 'master'

add a section of performance and profiling to dev docs

See merge request graphviz/graphviz!1661

4 years agoMerge branch 'smattr/134762F6-3732-49B2-A65D-FACE0D5BDAB6' into 'master'
Matthew Fernandez [Sat, 14 Nov 2020 02:20:11 +0000 (02:20 +0000)]
Merge branch 'smattr/134762F6-3732-49B2-A65D-FACE0D5BDAB6' into 'master'

removal of another setjmp/longjmp

See merge request graphviz/graphviz!1660

4 years agoremove some unnecessary bracketing
Matthew Fernandez [Sat, 7 Nov 2020 16:43:24 +0000 (08:43 -0800)]
remove some unnecessary bracketing

4 years agoreplace a malloc array allocation with calloc
Matthew Fernandez [Sat, 7 Nov 2020 16:37:45 +0000 (08:37 -0800)]
replace a malloc array allocation with calloc

This can be more efficient for large allocations and is generally cleaner code.

4 years agoremove some unnecessary casts of malloc return values
Matthew Fernandez [Sat, 7 Nov 2020 16:36:07 +0000 (08:36 -0800)]
remove some unnecessary casts of malloc return values

Some cases that were missed in e33fdf6d35f379bf53dc9656d07efba46077a617.

4 years agoremove a use of longjmp and use explicit return instead
Matthew Fernandez [Sat, 7 Nov 2020 16:32:22 +0000 (08:32 -0800)]
remove a use of longjmp and use explicit return instead

Related to #1801.

4 years agoAdd ubuntu20-10-cmake-test job to CI
Magnus Jacobsson [Fri, 13 Nov 2020 05:27:19 +0000 (06:27 +0100)]
Add ubuntu20-10-cmake-test job to CI

4 years agoAdd ubuntu20-10-cmake-build job to CI
Magnus Jacobsson [Fri, 13 Nov 2020 05:27:10 +0000 (06:27 +0100)]
Add ubuntu20-10-cmake-build job to CI

4 years agoAdd ubuntu20-10-test job to CI
Magnus Jacobsson [Thu, 12 Nov 2020 21:57:01 +0000 (22:57 +0100)]
Add ubuntu20-10-test job to CI

4 years agoAdd ubuntu20-10-build job to CI
Magnus Jacobsson [Thu, 12 Nov 2020 21:55:55 +0000 (22:55 +0100)]
Add ubuntu20-10-build job to CI

4 years agoAdd Ubuntu 20.10 Dockerfile
Magnus Jacobsson [Fri, 13 Nov 2020 05:29:12 +0000 (06:29 +0100)]
Add Ubuntu 20.10 Dockerfile

4 years agoMerge branch 'smattr/ea4ee7c7-8a0e-4f9f-bfdf-37e082768793' into 'master'
Matthew Fernandez [Thu, 12 Nov 2020 15:25:28 +0000 (15:25 +0000)]
Merge branch 'smattr/ea4ee7c7-8a0e-4f9f-bfdf-37e082768793' into 'master'

remove commented out code in Smyrna

See merge request graphviz/graphviz!1659

4 years agoadd a section of performance and profiling to dev docs
Matthew Fernandez [Sat, 7 Nov 2020 22:20:27 +0000 (14:20 -0800)]
add a section of performance and profiling to dev docs

4 years agoremove unused xdotstate, xdotstyle
Matthew Fernandez [Sat, 7 Nov 2020 16:06:56 +0000 (08:06 -0800)]
remove unused xdotstate, xdotstyle

4 years agoremove commented out code in Smyrna
Matthew Fernandez [Fri, 6 Nov 2020 04:12:26 +0000 (20:12 -0800)]
remove commented out code in Smyrna

4 years agoMerge branch 'smattr/4AE22380-A30F-4A49-B284-320A2BCDEBB2' into 'master'
Matthew Fernandez [Sat, 7 Nov 2020 04:10:31 +0000 (04:10 +0000)]
Merge branch 'smattr/4AE22380-A30F-4A49-B284-320A2BCDEBB2' into 'master'

fix buffer under-read in fdp

Closes #1290, #236, and #1865

See merge request graphviz/graphviz!1658

4 years agoremove some unnecessary brackets
Matthew Fernandez [Sun, 1 Nov 2020 03:17:23 +0000 (20:17 -0700)]
remove some unnecessary brackets

4 years agofix buffer under-read in fdp
Matthew Fernandez [Sun, 1 Nov 2020 02:41:27 +0000 (19:41 -0700)]
fix buffer under-read in fdp

When using fdp to process a graph, it would try to canonicalize all node names,
regardless of whether they were hosted in refstr_ts or not. The problem with
this is that the canonicalization logic assumes the character pointer passed
into it is within a refstr_t and that therefore it can do pointer subtraction to
get a pointer to the refstr_t itself. This was not true for internally
constructed node names like "%4".

We change this to always go through the refstr logic in agstrdup() when
canonicalizing names. This ensures that the pointer we pass into the
canonicalization logic *is* within a refstr_t. This is based on canon() in
lib/cgraph/output.c. Fixes #236, #1290, #1865.

4 years agoMerge branch 'smattr/c43d1d65-32e9-4049-a95f-9b209af13c66' into 'master'
Matthew Fernandez [Sat, 7 Nov 2020 02:10:12 +0000 (02:10 +0000)]
Merge branch 'smattr/c43d1d65-32e9-4049-a95f-9b209af13c66' into 'master'

fix: anticipate empty clusters when using newrank

Closes #1221

See merge request graphviz/graphviz!1657

4 years agosquash some unused parameter warnings
Matthew Fernandez [Sat, 31 Oct 2020 23:40:07 +0000 (16:40 -0700)]
squash some unused parameter warnings

4 years agoremove unused sg variable
Matthew Fernandez [Sat, 31 Oct 2020 23:39:56 +0000 (16:39 -0700)]
remove unused sg variable