]> granicus.if.org Git - graphviz/log
graphviz
2 years agoMerge branch 'smattr/E952DFA7-B513-45DE-B06B-55EDD4629175' into 'main'
Matthew Fernandez [Thu, 26 May 2022 16:43:23 +0000 (16:43 +0000)]
Merge branch 'smattr/E952DFA7-B513-45DE-B06B-55EDD4629175' into 'main'

edgepaint: remove 'iter_max' parameter from 'node_distinct_coloring'

See merge request graphviz/graphviz!2690

2 years agoedgepaint: remove 'iter_max' parameter from 'node_distinct_coloring'
Matthew Fernandez [Sun, 22 May 2022 17:08:54 +0000 (10:08 -0700)]
edgepaint: remove 'iter_max' parameter from 'node_distinct_coloring'

This is always set to 100.

2 years agoMerge branch 'smattr/46AE87AD-E20D-448B-A034-75D02874EF1D' into 'main'
Matthew Fernandez [Thu, 26 May 2022 06:22:01 +0000 (06:22 +0000)]
Merge branch 'smattr/46AE87AD-E20D-448B-A034-75D02874EF1D' into 'main'

sparse: remove 'D' parameter from 'SparseMatrix_import_dot' that is always null

See merge request graphviz/graphviz!2673

2 years agosparse: remove 'D' parameter from 'SparseMatrix_import_dot' that is always null
Matthew Fernandez [Wed, 18 May 2022 15:19:48 +0000 (08:19 -0700)]
sparse: remove 'D' parameter from 'SparseMatrix_import_dot' that is always null

2 years agoMerge branch 'smattr/11C3F22D-F3BE-483F-B2FF-968986B76565' into 'main'
Matthew Fernandez [Thu, 26 May 2022 05:03:22 +0000 (05:03 +0000)]
Merge branch 'smattr/11C3F22D-F3BE-483F-B2FF-968986B76565' into 'main'

tred: replace a 'malloc' with cgraph alloc wrapper

See merge request graphviz/graphviz!2674

2 years agotred: replace a 'malloc' with cgraph alloc wrapper
Matthew Fernandez [Tue, 17 May 2022 14:25:44 +0000 (07:25 -0700)]
tred: replace a 'malloc' with cgraph alloc wrapper

This addresses a case where allocation failure went unchecked.

2 years agoMerge branch 'doc-tools' into 'main'
Matthew Fernandez [Thu, 26 May 2022 04:01:41 +0000 (04:01 +0000)]
Merge branch 'doc-tools' into 'main'

populate directory cmd/tools with doxygen comments

See merge request graphviz/graphviz!2657

2 years agodoxygen comment for unflatten.c
Costa Shulyupin [Fri, 6 May 2022 07:03:32 +0000 (10:03 +0300)]
doxygen comment for unflatten.c

2 years agodoxygen comment for tred.c
Costa Shulyupin [Fri, 6 May 2022 07:03:20 +0000 (10:03 +0300)]
doxygen comment for tred.c

2 years agodoxygen comment for sccmap.c
Costa Shulyupin [Fri, 6 May 2022 07:03:07 +0000 (10:03 +0300)]
doxygen comment for sccmap.c

2 years agodoxygen comment for nop.c
Costa Shulyupin [Fri, 6 May 2022 07:02:43 +0000 (10:02 +0300)]
doxygen comment for nop.c

2 years agodoxygen comment for mmio.h
Costa Shulyupin [Fri, 6 May 2022 07:02:30 +0000 (10:02 +0300)]
doxygen comment for mmio.h

2 years agodoxygen comment for mm2gv.c
Costa Shulyupin [Fri, 6 May 2022 07:02:16 +0000 (10:02 +0300)]
doxygen comment for mm2gv.c

2 years agodoxygen comment for matrix_market.h
Costa Shulyupin [Fri, 6 May 2022 07:02:03 +0000 (10:02 +0300)]
doxygen comment for matrix_market.h

2 years agodoxygen comment for gxl2gv.c
Costa Shulyupin [Fri, 6 May 2022 07:01:50 +0000 (10:01 +0300)]
doxygen comment for gxl2gv.c

2 years agodoxygen comment for gvpack.cpp
Costa Shulyupin [Fri, 6 May 2022 07:01:38 +0000 (10:01 +0300)]
doxygen comment for gvpack.cpp

2 years agodoxygen comment for gvgen.c
Costa Shulyupin [Fri, 6 May 2022 07:01:22 +0000 (10:01 +0300)]
doxygen comment for gvgen.c

2 years agodoxygen comment for gvcolor.c
Costa Shulyupin [Fri, 6 May 2022 07:01:02 +0000 (10:01 +0300)]
doxygen comment for gvcolor.c

2 years agodoxygen comment for gv2gxl.c
Costa Shulyupin [Fri, 6 May 2022 07:00:50 +0000 (10:00 +0300)]
doxygen comment for gv2gxl.c

2 years agodoxygen comment for gv2gml.c
Costa Shulyupin [Fri, 6 May 2022 07:00:31 +0000 (10:00 +0300)]
doxygen comment for gv2gml.c

2 years agodoxygen comment for graphml2gv.c
Costa Shulyupin [Fri, 6 May 2022 06:58:00 +0000 (09:58 +0300)]
doxygen comment for graphml2gv.c

2 years agodoxygen comment for gml2gv.h
Costa Shulyupin [Fri, 6 May 2022 06:57:43 +0000 (09:57 +0300)]
doxygen comment for gml2gv.h

2 years agodoxygen comment for gc.c
Costa Shulyupin [Fri, 6 May 2022 06:57:25 +0000 (09:57 +0300)]
doxygen comment for gc.c

2 years agodoxygen comment for dijkstra.c
Costa Shulyupin [Fri, 6 May 2022 06:54:20 +0000 (09:54 +0300)]
doxygen comment for dijkstra.c

2 years agodoxygen comment for cvtgxl.c
Costa Shulyupin [Fri, 6 May 2022 06:54:05 +0000 (09:54 +0300)]
doxygen comment for cvtgxl.c

2 years agodoxygen comment for convert.h
Costa Shulyupin [Fri, 6 May 2022 06:53:33 +0000 (09:53 +0300)]
doxygen comment for convert.h

2 years agodoxygen comment for colxlate.c
Costa Shulyupin [Fri, 6 May 2022 06:51:48 +0000 (09:51 +0300)]
doxygen comment for colxlate.c

2 years agodoxygen comment for ccomps.c
Costa Shulyupin [Fri, 6 May 2022 06:51:16 +0000 (09:51 +0300)]
doxygen comment for ccomps.c

2 years agodoxygen comment for bcomps.c
Costa Shulyupin [Fri, 6 May 2022 06:50:20 +0000 (09:50 +0300)]
doxygen comment for bcomps.c

2 years agodoxygen comment for acyclic.c
Costa Shulyupin [Fri, 6 May 2022 06:48:15 +0000 (09:48 +0300)]
doxygen comment for acyclic.c

2 years agoMerge branch 'emitSearchGraph' into 'main'
Matthew Fernandez [Thu, 26 May 2022 03:06:13 +0000 (03:06 +0000)]
Merge branch 'emitSearchGraph' into 'main'

fix emitSearchGraph for better representation

See merge request graphviz/graphviz!2647

2 years agoemitSearchGraph: show weights of search graph in labels
Costa Shulyupin [Mon, 2 May 2022 03:18:08 +0000 (06:18 +0300)]
emitSearchGraph: show weights of search graph in labels

Before this patch using `weight` as `len` contradicted
predefined coordinates and changed layout.

2 years agofix emitSearchGraph, use layout=neato and pos=x,y!
Costa Shulyupin [Mon, 2 May 2022 03:10:07 +0000 (06:10 +0300)]
fix emitSearchGraph, use layout=neato and pos=x,y!

Function emitSearchGraph dumps internal state of
orthogonal routing search graph in dot format for debugging.
Output of the function is not used for final user output.

The functions already receives coordinates of nodes.
These coordinates should be used verbatim.

Before this patch `dot` changes locations of search graph nodes and
rendered output image is not useful.

This patch
- adds dummy layout `neato` because attribute `pos` is meaningful
  for only for `neato` and `fdp`.
- adds "!" to force fixed positions by default.

Finally layout engine doesn't changes layout and positions of nodes.

References:
- https://graphviz.org/docs/attrs/pos/
- https://graphviz.org/docs/attr-types/point/

2 years agoMerge branch 'gvpr' into 'main'
Matthew Fernandez [Thu, 26 May 2022 02:04:08 +0000 (02:04 +0000)]
Merge branch 'gvpr' into 'main'

Doxygen comments for gvpr

See merge request graphviz/graphviz!2648

2 years agodoxygen comment for lib/gvpr/gvpr.c
Costa Shulyupin [Mon, 2 May 2022 14:52:15 +0000 (17:52 +0300)]
doxygen comment for lib/gvpr/gvpr.c

2 years agodoxygen comment for lib/gvpr/gvpr.h
Costa Shulyupin [Mon, 2 May 2022 14:51:25 +0000 (17:51 +0300)]
doxygen comment for lib/gvpr/gvpr.h

2 years agodoxygen comment for cmd/gvpr
Costa Shulyupin [Mon, 2 May 2022 14:50:10 +0000 (17:50 +0300)]
doxygen comment for cmd/gvpr

2 years agoMerge branch 'smattr/C9DF4E16-8634-4D4E-AAE0-62E906147657' into 'main'
Matthew Fernandez [Wed, 25 May 2022 16:07:49 +0000 (16:07 +0000)]
Merge branch 'smattr/C9DF4E16-8634-4D4E-AAE0-62E906147657' into 'main'

dotgen: squash -Wsign-conversion warning in 'doDot'

See merge request graphviz/graphviz!2692

2 years agodotgen: squash -Wsign-conversion warning in 'doDot'
Matthew Fernandez [Sun, 8 May 2022 20:02:31 +0000 (13:02 -0700)]
dotgen: squash -Wsign-conversion warning in 'doDot'

The compiler says:

  dotinit.c: In function 'doDot':
  dotinit.c:454:24: warning: conversion to 'unsigned int' from 'int' may change
    the sign of the result [-Wsign-conversion]
  454 |         pinfo.margin = Pack;
      |                        ^~~~

But from the surrounding code and the implementation of `getPack`, we can
statically determine that `Pack` is non-negative at this point.

2 years agoMerge branch 'cleanup-arrow-length-use' into 'main'
Magnus Jacobsson [Wed, 25 May 2022 12:36:10 +0000 (12:36 +0000)]
Merge branch 'cleanup-arrow-length-use' into 'main'

remove unnecessary use of arrow_length function and make it static

See merge request graphviz/graphviz!2693

2 years agocommon: mark 'arrow_length' static
Magnus Jacobsson [Sun, 22 May 2022 15:33:22 +0000 (17:33 +0200)]
common: mark 'arrow_length' static

This function is no longer used outside of its containing file.

2 years agosameport: replace goto with return
Magnus Jacobsson [Sun, 22 May 2022 15:27:26 +0000 (17:27 +0200)]
sameport: replace goto with return

2 years agosameport: remove unused n_arr field from same_t struct
Magnus Jacobsson [Sun, 22 May 2022 15:25:13 +0000 (17:25 +0200)]
sameport: remove unused n_arr field from same_t struct

2 years agosameport: remove unused arr_len field from same_t struct
Magnus Jacobsson [Sun, 22 May 2022 15:20:19 +0000 (17:20 +0200)]
sameport: remove unused arr_len field from same_t struct

2 years agoMerge branch 'upgrade-centos7-docker-image' into 'main'
Magnus Jacobsson [Wed, 25 May 2022 08:39:23 +0000 (08:39 +0000)]
Merge branch 'upgrade-centos7-docker-image' into 'main'

Upgrade Centos7 Dockerfile

See merge request graphviz/graphviz!2695

2 years agoupgrade git to 2.36 in Centos7 Dockerfile
Magnus Jacobsson [Tue, 24 May 2022 09:39:29 +0000 (11:39 +0200)]
upgrade git to 2.36 in Centos7 Dockerfile

Version 2.24 is no longer available.

Fixes this error when building the Docker image:

Cannot open: https://repo.ius.io/7/x86_64/packages/g/git224-2.24.3-1.el7.ius.x86_64.rpm. Skipping.

2 years agoupgrade epel-release to latest-7 in Centos7 Dockerfile
Magnus Jacobsson [Tue, 24 May 2022 09:39:12 +0000 (11:39 +0200)]
upgrade epel-release to latest-7 in Centos7 Dockerfile

Version 7.12 is no longer available.

Fixes this error when building the Docker image:

Cannot open: https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm. Skipping.

2 years agoMerge branch 'smattr/C351F03D-D182-43E4-92A6-4A4308AF78B9' into 'main'
Matthew Fernandez [Tue, 24 May 2022 05:29:07 +0000 (05:29 +0000)]
Merge branch 'smattr/C351F03D-D182-43E4-92A6-4A4308AF78B9' into 'main'

gvpr: squash -Wconversion warning from 'read' return

See merge request graphviz/graphviz!2675

2 years agogvpr: squash -Wconversion warning from 'read' return
Matthew Fernandez [Mon, 16 May 2022 04:31:25 +0000 (21:31 -0700)]
gvpr: squash -Wconversion warning from 'read' return

This call is asked to read an `int` length of bytes, so cannot return more than
`INT_MAX`.

2 years agoMerge branch 'smattr/3A15FDA7-0604-425F-A34A-EBCF8A7B2050' into 'main'
Matthew Fernandez [Tue, 24 May 2022 04:20:19 +0000 (04:20 +0000)]
Merge branch 'smattr/3A15FDA7-0604-425F-A34A-EBCF8A7B2050' into 'main'

gvpr: squash some -Wunused-parameter warnings

See merge request graphviz/graphviz!2676

2 years agogvpr: remove unused 'uopts' parameter from 'scanArgs'
Matthew Fernandez [Mon, 16 May 2022 04:42:45 +0000 (21:42 -0700)]
gvpr: remove unused 'uopts' parameter from 'scanArgs'

2 years agogvpr: squash -Wunused-parameter warnings in 'matchval'
Matthew Fernandez [Mon, 16 May 2022 04:40:39 +0000 (21:40 -0700)]
gvpr: squash -Wunused-parameter warnings in 'matchval'

These parameters cannot be removed because this function is used as a callback.

2 years agogvpr: squash -Wunused-parameter warnings in 'keyval'
Matthew Fernandez [Mon, 16 May 2022 04:39:37 +0000 (21:39 -0700)]
gvpr: squash -Wunused-parameter warnings in 'keyval'

These parameters cannot be removed because this function is used as a callback.

2 years agogvpr: squash -Wunused-parameter warnings in 'convert'
Matthew Fernandez [Mon, 16 May 2022 04:38:25 +0000 (21:38 -0700)]
gvpr: squash -Wunused-parameter warnings in 'convert'

These parameters cannot be removed because this function is used as a callback.

2 years agogvpr: squash -Wunused-parameter warnings in 'binary'
Matthew Fernandez [Mon, 16 May 2022 04:36:53 +0000 (21:36 -0700)]
gvpr: squash -Wunused-parameter warnings in 'binary'

These parameters cannot be removed because this function is used as a callback.

2 years agogvpr: squash -Wunused-parameter warnings in 'refval'
Matthew Fernandez [Mon, 16 May 2022 04:35:27 +0000 (21:35 -0700)]
gvpr: squash -Wunused-parameter warnings in 'refval'

These parameters cannot be removed because this function is used as a callback.

2 years agogvpr: squash -Wunused-parameter warnings in 'setval'
Matthew Fernandez [Mon, 16 May 2022 04:34:29 +0000 (21:34 -0700)]
gvpr: squash -Wunused-parameter warnings in 'setval'

These parameters cannot be removed because this function is used as a callback.

2 years agoMerge branch 'maze-doc' into 'main'
Matthew Fernandez [Tue, 24 May 2022 03:12:09 +0000 (03:12 +0000)]
Merge branch 'maze-doc' into 'main'

Doxygen comments for maze.c

Closes #2236

See merge request graphviz/graphviz!2661

2 years agodoxygen comment for mkMaze
Costa Shulyupin [Tue, 10 May 2022 16:04:57 +0000 (19:04 +0300)]
doxygen comment for mkMaze

2 years agodoxygen comment for mkMazeGraph
Costa Shulyupin [Tue, 10 May 2022 16:02:51 +0000 (19:02 +0300)]
doxygen comment for mkMazeGraph

2 years agodoxygen comment for findSVert
Costa Shulyupin [Tue, 10 May 2022 16:01:48 +0000 (19:01 +0300)]
doxygen comment for findSVert

2 years agodoxygen comment for createSEdges
Costa Shulyupin [Tue, 10 May 2022 16:01:25 +0000 (19:01 +0300)]
doxygen comment for createSEdges

2 years agoconvert markSmall comment to doxygen
Costa Shulyupin [Tue, 10 May 2022 16:00:36 +0000 (19:00 +0300)]
convert markSmall comment to doxygen

2 years agodoxygen comments for updateWt and updateWts
Costa Shulyupin [Tue, 10 May 2022 15:59:22 +0000 (18:59 +0300)]
doxygen comments for updateWt and updateWts

2 years agodoxygen comments for vcmpid and hcmpid
Costa Shulyupin [Tue, 10 May 2022 15:57:49 +0000 (18:57 +0300)]
doxygen comments for vcmpid and hcmpid

2 years agodoxygen comment for psdump
Costa Shulyupin [Tue, 10 May 2022 15:56:56 +0000 (18:56 +0300)]
doxygen comment for psdump

2 years agoMerge branch 'smattr/5ACB60F9-F951-4162-8F8C-81C590EF69EB' into 'main'
Matthew Fernandez [Tue, 24 May 2022 01:59:18 +0000 (01:59 +0000)]
Merge branch 'smattr/5ACB60F9-F951-4162-8F8C-81C590EF69EB' into 'main'

remove Autotools 'sort' discovery

See merge request graphviz/graphviz!2685

2 years agoremove Autotools 'sort' discovery
Matthew Fernandez [Sat, 21 May 2022 19:58:07 +0000 (12:58 -0700)]
remove Autotools 'sort' discovery

ea6b4c99ec32127619b6e5c3a5ff58be51aa4829 removed the last use of `$SORT` in the
Autotools build system.

2 years agoMerge branch 'smattr/CEAAF3D2-013D-47DF-AD73-0ED48E8FFF5C' into 'main'
Matthew Fernandez [Mon, 23 May 2022 15:16:58 +0000 (15:16 +0000)]
Merge branch 'smattr/CEAAF3D2-013D-47DF-AD73-0ED48E8FFF5C' into 'main'

ortho: some clean up of 'segCmp'

See merge request graphviz/graphviz!2689

2 years agoortho: use early return style pervasively in 'segCmp'
Matthew Fernandez [Sun, 22 May 2022 02:36:02 +0000 (19:36 -0700)]
ortho: use early return style pervasively in 'segCmp'

Because the leaf of each conditional was returning, we can write all this logic
without `else`. The result seems marginally cleaner and easier to read.

2 years agoortho: remove dead code in 'segCmp'
Matthew Fernandez [Sun, 22 May 2022 02:28:01 +0000 (19:28 -0700)]
ortho: remove dead code in 'segCmp'

Squashes a warning about unreachable code by MSVC.

2 years agoMerge branch 'smattr/4BC11EAE-57EF-4815-9C8B-F1C944042E12' into 'main'
Matthew Fernandez [Mon, 23 May 2022 06:07:12 +0000 (06:07 +0000)]
Merge branch 'smattr/4BC11EAE-57EF-4815-9C8B-F1C944042E12' into 'main'

cgraph and common warning squashing and clean up

See merge request graphviz/graphviz!2681

2 years agocommon: squash -Wsign-conversion, -Wconversion warnings
Matthew Fernandez [Sat, 21 May 2022 03:35:31 +0000 (20:35 -0700)]
common: squash -Wsign-conversion, -Wconversion warnings

`byte` is known in-range in these instances.

2 years agocommon: squash -Wswitch-default warning in 'closestSide'
Matthew Fernandez [Sat, 21 May 2022 03:30:19 +0000 (20:30 -0700)]
common: squash -Wswitch-default warning in 'closestSide'

This switch is exhaustive due to the containing loop.

2 years agocommon: squash -Wswitch-default warning in 'cvtPt'
Matthew Fernandez [Sat, 21 May 2022 03:28:21 +0000 (20:28 -0700)]
common: squash -Wswitch-default warning in 'cvtPt'

This switch is exhaustive, as `rankdir` is only intended to be one of the four
covered rank direction constants.

2 years agocommon: use a C99 bool for 'LR' parameter of 'parse_reclbl'
Matthew Fernandez [Sat, 21 May 2022 03:25:01 +0000 (20:25 -0700)]
common: use a C99 bool for 'LR' parameter of 'parse_reclbl'

Squashes a -Wconversion warning.

2 years agocommon: squash -Wswitch-default warning in 'invflip_side'
Matthew Fernandez [Sat, 21 May 2022 03:21:12 +0000 (20:21 -0700)]
common: squash -Wswitch-default warning in 'invflip_side'

This switch is exhaustive, as `rankdir` is only intended to be one of the four
covered rank direction constants.

2 years agocommon: rename 'path' in 'cat_libfile', removing a -Wshadow warning
Matthew Fernandez [Sat, 21 May 2022 03:12:22 +0000 (20:12 -0700)]
common: rename 'path' in 'cat_libfile', removing a -Wshadow warning

2 years agocommon: use a 'size_t' for 'fread' return, squashing a -Wconversion warning
Matthew Fernandez [Sat, 21 May 2022 03:10:32 +0000 (20:10 -0700)]
common: use a 'size_t' for 'fread' return, squashing a -Wconversion warning

2 years agocommon: cast stat size results, squashing -Wsign-conversion warnings
Matthew Fernandez [Sat, 21 May 2022 03:08:35 +0000 (20:08 -0700)]
common: cast stat size results, squashing -Wsign-conversion warnings

The `st_size` field coming out of the `stat` call is always non-negative.

2 years agocgraph: take initial agxbuf backing memory as a char buffer
Matthew Fernandez [Sat, 21 May 2022 02:33:02 +0000 (19:33 -0700)]
cgraph: take initial agxbuf backing memory as a char buffer

Removes some cast noise.

2 years agocgraph: use char pointers instead of unsigned char pointers in agxbuf
Matthew Fernandez [Sat, 21 May 2022 02:19:49 +0000 (19:19 -0700)]
cgraph: use char pointers instead of unsigned char pointers in agxbuf

This is simpler than casting at every usage site.

2 years agosmyrna: remove unnecessary casts in 'vertexCallback'
Matthew Fernandez [Sat, 21 May 2022 01:45:05 +0000 (18:45 -0700)]
smyrna: remove unnecessary casts in 'vertexCallback'

2 years agoMerge branch 'smattr/2A1D6F79-DE60-42C3-BE91-E03A32CEAF49' into 'main'
Matthew Fernandez [Mon, 23 May 2022 04:56:36 +0000 (04:56 +0000)]
Merge branch 'smattr/2A1D6F79-DE60-42C3-BE91-E03A32CEAF49' into 'main'

gv2gxl: some cleanup and addressing unchecked allocations

See merge request graphviz/graphviz!2678

2 years agogv2gxl: replace unchecked allocations with cgraph alloc helpers
Matthew Fernandez [Fri, 20 May 2022 05:18:45 +0000 (22:18 -0700)]
gv2gxl: replace unchecked allocations with cgraph alloc helpers

2 years agogv2gxl: undo micro-optimization in 'writeHdr'
Matthew Fernandez [Fri, 20 May 2022 05:16:14 +0000 (22:16 -0700)]
gv2gxl: undo micro-optimization in 'writeHdr'

Allocation within this function chose between an on-stack buffer and a
heap-allocated buffer based on the length of the input string. With a modern
performant allocator this is often a de-optimization. This change switches to
unconditionally using a heap-allocated buffer, simplifying the code.

2 years agogv2gxl: undo micro-optimization in 'createEdgeId'
Matthew Fernandez [Fri, 20 May 2022 05:11:53 +0000 (22:11 -0700)]
gv2gxl: undo micro-optimization in 'createEdgeId'

Allocation within this function chose between an on-stack buffer and a
heap-allocated buffer based on the length of the input string. With a modern
performant allocator this is often a de-optimization. This change switches to
unconditionally using a heap-allocated buffer, simplifying the code.

2 years agoMerge branch 'smattr/30CAF70F-6306-453C-8BB6-E06725601179' into 'main'
Matthew Fernandez [Mon, 23 May 2022 03:33:39 +0000 (03:33 +0000)]
Merge branch 'smattr/30CAF70F-6306-453C-8BB6-E06725601179' into 'main'

gvpr: rephrase unorthodox way of clamping a signed byte

See merge request graphviz/graphviz!2686

2 years agogvpr: rephrase unorthodox way of clamping a signed byte
Matthew Fernandez [Mon, 16 May 2022 04:24:58 +0000 (21:24 -0700)]
gvpr: rephrase unorthodox way of clamping a signed byte

This new code is less confusing to the compiler and removes a -Wsign-conversion
warning.

2 years agoMerge branch 'smattr/5DC60227-8471-48EC-B804-9F7121EEE0D4' into 'main'
Matthew Fernandez [Mon, 23 May 2022 00:44:19 +0000 (00:44 +0000)]
Merge branch 'smattr/5DC60227-8471-48EC-B804-9F7121EEE0D4' into 'main'

gxl2gv: avoid large on-stack buffer

See merge request graphviz/graphviz!2679

2 years agogxl2gv: avoid large on-stack buffer
Matthew Fernandez [Fri, 20 May 2022 05:27:49 +0000 (22:27 -0700)]
gxl2gv: avoid large on-stack buffer

MSVC warns:

  C:\GitLab-Runner\builds\graphviz\graphviz\cmd\tools\gxl2gv.c(694): warning
    C6262: Function uses '20020' bytes of stack:  exceeds /analyze:stacksize
    '16384'.  Consider moving some data to heap.
    [C:\GitLab-Runner\builds\graphviz\graphviz\cmd\tools\gxl2gv.vcxproj]

So this function attempts to allocate ~20KB of stack data. Most of this is due
to the `buf` array. Using this much stack can cause crashes in constrained
environments. The buffer in question is used to read XML data in chunks, so we
can instead use the C standard library’s constant `BUFSIZ` that tells us the
optimal chunk size with which to perform I/O.

This change avoids the described problem as well as being a performance
optimization.

2 years agoMerge branch 'smattr/B73F2441-00A2-41E2-BADC-F58C855EAFDF' into 'main'
Matthew Fernandez [Sun, 22 May 2022 19:54:03 +0000 (19:54 +0000)]
Merge branch 'smattr/B73F2441-00A2-41E2-BADC-F58C855EAFDF' into 'main'

gml2gv: simplify string construction during parsing

See merge request graphviz/graphviz!2680

2 years agogml2gv: simplify string construction during parsing
Matthew Fernandez [Thu, 12 May 2022 04:16:08 +0000 (21:16 -0700)]
gml2gv: simplify string construction during parsing

This also removes the possibility of unchecked allocation failures in this code.

2 years agoMerge branch 'smattr/0400262B-2B65-4AC6-ADE1-8A6FC8110BF0' into 'main'
Matthew Fernandez [Sun, 22 May 2022 18:42:26 +0000 (18:42 +0000)]
Merge branch 'smattr/0400262B-2B65-4AC6-ADE1-8A6FC8110BF0' into 'main'

add 'gvmap' and 'gvmap.sh' to the CMake build system

See merge request graphviz/graphviz!2683

2 years agoadd 'gvmap' and 'gvmap.sh' to the CMake build system
Matthew Fernandez [Sun, 1 May 2022 21:47:25 +0000 (14:47 -0700)]
add 'gvmap' and 'gvmap.sh' to the CMake build system

Something strange I discovered while integrating this: the CI CentOS Autotools
jobs happily build and install `gvmap` and `cluster` despite not having libgts
installed. That is, the libgts dependency claimed in cmd/gvmap/Makefile.am
appears spurious. This all works out because nothing in that Makefile properly
indicates a requirement for libgts, so Make happily evaluates `$(GTS_LIBS)` to
the empty string.

And yet, when you attempt to remove this libgts usage you will find the CI
Ubuntu Autotools jobs fail. There is apparently a transitive dependency on
libgts when it is installed. So we leave everything as-is for now.

None of this is a concern in the CMake build system because CMake understands
transitive dependencies and applies these without having to be explicitly told.
But in future we should probably trace what the exact relationship of these
tools to libgts is.

Gitlab: #1753, #1836

2 years agogvmap: fix pointer-vs-int confusion in calling 'gv_recalloc'
Matthew Fernandez [Sun, 1 May 2022 23:20:31 +0000 (16:20 -0700)]
gvmap: fix pointer-vs-int confusion in calling 'gv_recalloc'

This was a typo in 0e53497fae6e05a59c31b7f124ddd1166901759f. It seemingly went
unnoticed amid the torrent of warnings the Autotools build emits. I only picked
this up when enabling this code in the CMake build system that compiles with
-Werror in CI.

2 years agoMerge branch 'smattr/E1146520-260F-4418-AE8D-1BCD48DEE4C2' into 'main'
Matthew Fernandez [Sun, 22 May 2022 17:33:19 +0000 (17:33 +0000)]
Merge branch 'smattr/E1146520-260F-4418-AE8D-1BCD48DEE4C2' into 'main'

mm2gv clean up

See merge request graphviz/graphviz!2684

2 years agomm2gv: remove unused 'test_flag'
Matthew Fernandez [Mon, 9 May 2022 00:54:42 +0000 (17:54 -0700)]
mm2gv: remove unused 'test_flag'

This appears to have never been used.

2 years agomm2gv: remove unused 'MALLOC'
Matthew Fernandez [Mon, 9 May 2022 00:52:17 +0000 (17:52 -0700)]
mm2gv: remove unused 'MALLOC'

The last use of this was removed in 46c60f72975db0bef2ee53d7cf3a0c6a912065e2.

2 years agomm2gv: squash -Wswitch-default warning
Matthew Fernandez [Mon, 9 May 2022 00:51:48 +0000 (17:51 -0700)]
mm2gv: squash -Wswitch-default warning