]> granicus.if.org Git - graphviz/log
graphviz
3 years agogetdyn: remove variable shadowing of 'expr' global
Matthew Fernandez [Sat, 9 Oct 2021 19:11:37 +0000 (12:11 -0700)]
getdyn: remove variable shadowing of 'expr' global

3 years agoevaldyn: remove variable shadowing of 'expr' global
Matthew Fernandez [Sat, 9 Oct 2021 19:09:26 +0000 (12:09 -0700)]
evaldyn: remove variable shadowing of 'expr' global

3 years agoexerror/exwarn: allow GNU-compatible compilers to detect misuse
Matthew Fernandez [Sat, 9 Oct 2021 19:05:37 +0000 (12:05 -0700)]
exerror/exwarn: allow GNU-compatible compilers to detect misuse

This lets compilers like GCC and Clang notice when these functions are called
with a format string that is inconsistent with the remaining arguments and issue
a warning. This detects problems like those fixed in the prior commit.

3 years agofix misuse of 'exerror'
Matthew Fernandez [Sat, 9 Oct 2021 19:01:21 +0000 (12:01 -0700)]
fix misuse of 'exerror'

These issues are detectable by tagging `exerror` with
`__attribute__((format(printf, 1, 2)))`.

3 years agoderef: remove unnecessary 'break' statements
Matthew Fernandez [Sat, 9 Oct 2021 18:40:39 +0000 (11:40 -0700)]
deref: remove unnecessary 'break' statements

3 years agoMerge branch 'smattr/63959121-2587-4D2B-82E1-87E5132AC015' into 'main'
Matthew Fernandez [Thu, 14 Oct 2021 16:25:38 +0000 (16:25 +0000)]
Merge branch 'smattr/63959121-2587-4D2B-82E1-87E5132AC015' into 'main'

lib/cdt: replace header guards with more modern #pragma once

See merge request graphviz/graphviz!2224

3 years agolib/cdt: replace header guards with more modern #pragma once
Matthew Fernandez [Thu, 14 Oct 2021 03:50:07 +0000 (20:50 -0700)]
lib/cdt: replace header guards with more modern #pragma once

3 years agoMerge branch 'smattr/CA6A6F72-A9FA-4694-9BE4-52D0EA99C11E' into 'main'
Matthew Fernandez [Thu, 14 Oct 2021 15:22:47 +0000 (15:22 +0000)]
Merge branch 'smattr/CA6A6F72-A9FA-4694-9BE4-52D0EA99C11E' into 'main'

lib/gvpr: replace header guards with more modern #pragma once

See merge request graphviz/graphviz!2220

3 years agolib/gvpr: replace header guards with more modern #pragma once
Matthew Fernandez [Tue, 12 Oct 2021 00:13:08 +0000 (17:13 -0700)]
lib/gvpr: replace header guards with more modern #pragma once

3 years agoMerge branch 'smattr/BD47AC77-0B88-41A8-8983-2D057C6598C7' into 'main'
Matthew Fernandez [Thu, 14 Oct 2021 03:45:09 +0000 (03:45 +0000)]
Merge branch 'smattr/BD47AC77-0B88-41A8-8983-2D057C6598C7' into 'main'

libedgepaint: replace header guards with more modern #pragma once

See merge request graphviz/graphviz!2215

3 years agolibedgepaint: replace header guards with more modern #pragma once
Matthew Fernandez [Sun, 10 Oct 2021 19:10:31 +0000 (12:10 -0700)]
libedgepaint: replace header guards with more modern #pragma once

3 years agoMerge branch 'smattr/527996E1-267D-4746-BF2A-20A2A66E028B' into 'main'
Matthew Fernandez [Thu, 14 Oct 2021 02:41:50 +0000 (02:41 +0000)]
Merge branch 'smattr/527996E1-267D-4746-BF2A-20A2A66E028B' into 'main'

lib/ast: replace header guards with more modern #pragma once

See merge request graphviz/graphviz!2222

3 years agolib/ast: replace header guards with more modern #pragma once
Matthew Fernandez [Wed, 13 Oct 2021 01:15:49 +0000 (18:15 -0700)]
lib/ast: replace header guards with more modern #pragma once

3 years agoMerge branch 'smattr/4755772E-A42F-4DB2-A389-E4304FB44BBC' into 'main'
Matthew Fernandez [Thu, 14 Oct 2021 01:10:34 +0000 (01:10 +0000)]
Merge branch 'smattr/4755772E-A42F-4DB2-A389-E4304FB44BBC' into 'main'

smyrna: more dead code removal

See merge request graphviz/graphviz!2214

3 years agosmyrna: remove unused 'DOT_SIZE_CORRECTION_FAC'
Matthew Fernandez [Sun, 10 Oct 2021 17:28:36 +0000 (10:28 -0700)]
smyrna: remove unused 'DOT_SIZE_CORRECTION_FAC'

3 years agosmyrna: remove unused 'SPHERE_SLICE_COUNT'
Matthew Fernandez [Sun, 10 Oct 2021 17:28:16 +0000 (10:28 -0700)]
smyrna: remove unused 'SPHERE_SLICE_COUNT'

3 years agosmyrna: remove unused 'DOUBLE_IT'
Matthew Fernandez [Sun, 10 Oct 2021 17:27:53 +0000 (10:27 -0700)]
smyrna: remove unused 'DOUBLE_IT'

3 years agosmyrna: remove unused 'GL_DOTSIZE_CONSTANT'
Matthew Fernandez [Sun, 10 Oct 2021 17:27:35 +0000 (10:27 -0700)]
smyrna: remove unused 'GL_DOTSIZE_CONSTANT'

3 years agosmyrna: remove unused node limit constants
Matthew Fernandez [Sun, 10 Oct 2021 17:27:13 +0000 (10:27 -0700)]
smyrna: remove unused node limit constants

3 years agosmyrna: remove unused Z plane constants
Matthew Fernandez [Sun, 10 Oct 2021 17:26:52 +0000 (10:26 -0700)]
smyrna: remove unused Z plane constants

3 years agosmyrna: remove unused 'UNHIGHLIGHTED_ALPHA'
Matthew Fernandez [Sun, 10 Oct 2021 17:26:26 +0000 (10:26 -0700)]
smyrna: remove unused 'UNHIGHLIGHTED_ALPHA'

3 years agosmyrna: remove unused 'RAD2DEG'
Matthew Fernandez [Sun, 10 Oct 2021 17:26:02 +0000 (10:26 -0700)]
smyrna: remove unused 'RAD2DEG'

3 years agosmyrna: remove unused 'ZOOM_STEP', 'ZOOM_STEPS'
Matthew Fernandez [Sun, 10 Oct 2021 17:25:32 +0000 (10:25 -0700)]
smyrna: remove unused 'ZOOM_STEP', 'ZOOM_STEPS'

3 years agosmyrna: remove unused 'GLOBAL_Z_OFFSET'
Matthew Fernandez [Sun, 10 Oct 2021 17:24:20 +0000 (10:24 -0700)]
smyrna: remove unused 'GLOBAL_Z_OFFSET'

3 years agosmyrma: remove duplicate 'xml' declaration
Matthew Fernandez [Sun, 10 Oct 2021 17:22:30 +0000 (10:22 -0700)]
smyrma: remove duplicate 'xml' declaration

This is declared in gui.h that is already included in this target file.

3 years agosmyrna: remove unused union names
Matthew Fernandez [Sun, 10 Oct 2021 17:21:09 +0000 (10:21 -0700)]
smyrna: remove unused union names

3 years agoMerge branch 'smattr/2633d9ac-c5e9-4556-b4cd-b4b879e4add7' into 'main'
Matthew Fernandez [Wed, 13 Oct 2021 16:03:12 +0000 (16:03 +0000)]
Merge branch 'smattr/2633d9ac-c5e9-4556-b4cd-b4b879e4add7' into 'main'

some ps_txt-related clean up

See merge request graphviz/graphviz!2217

3 years agouser_init: use a C99 bool for 'saw_bb'
Matthew Fernandez [Sun, 10 Oct 2021 21:06:55 +0000 (14:06 -0700)]
user_init: use a C99 bool for 'saw_bb'

3 years agocat_libfile: use a C99 bool for 'use_stdlib'
Matthew Fernandez [Sun, 10 Oct 2021 21:05:09 +0000 (14:05 -0700)]
cat_libfile: use a C99 bool for 'use_stdlib'

3 years agoremove unnecessary 'Show_boxes' cast
Matthew Fernandez [Sun, 10 Oct 2021 21:02:07 +0000 (14:02 -0700)]
remove unnecessary 'Show_boxes' cast

`Show_boxes` is already a `const char**`.

3 years agops_txt: fuse array strings, accelerating 'cat_libfile'
Matthew Fernandez [Sun, 10 Oct 2021 20:56:47 +0000 (13:56 -0700)]
ps_txt: fuse array strings, accelerating 'cat_libfile'

The `ps_txt` array is only used in calls to `cat_libfile`, which does not need a
single line per array entry. By fusing all strings into the first `ps_txt` array
entry, we can reduce the number of eventual `gvputs` calls, accelerating the
entire operation.

3 years agodisable clang formatting in ps.h and reflow lines
Matthew Fernandez [Sun, 10 Oct 2021 20:34:06 +0000 (13:34 -0700)]
disable clang formatting in ps.h and reflow lines

Following 96136309542ef71101600335147fcd19253a5fde, in retrospect it seems this
file is more readable with reflowing of long lines disabled.

3 years agoMerge branch 'fix_windows_if_have_gts' into 'main'
Matthew Fernandez [Wed, 13 Oct 2021 14:55:08 +0000 (14:55 +0000)]
Merge branch 'fix_windows_if_have_gts' into 'main'

The preprocessor constant HAVE_GTS should be undefined like others similar flags.

See merge request graphviz/graphviz!2221

3 years agoThe preprocessor constant HAVE_GTS should be undefined like others similar flags.
Primhill Computers [Tue, 12 Oct 2021 07:47:58 +0000 (08:47 +0100)]
The preprocessor constant HAVE_GTS should be undefined like others similar flags.

3 years agoMerge branch 'addendum-fix-bom-in-graphviz-version-file' into 'main'
Magnus Jacobsson [Tue, 12 Oct 2021 07:15:26 +0000 (07:15 +0000)]
Merge branch 'addendum-fix-bom-in-graphviz-version-file' into 'main'

Don't generate useless GRAPHVIZ_VERSION file in macOS CMake build CI job

See merge request graphviz/graphviz!2213

3 years agoCI: move generation of COLLECTION from macOS build template to individual jobs
Magnus Jacobsson [Sun, 10 Oct 2021 10:05:20 +0000 (12:05 +0200)]
CI: move generation of COLLECTION from macOS build template to individual jobs

This is no functional change, but makes the macOS build jobs more
similar to the Linux build jobs and opens up for letting the macOS
CMake and autotools builds use different COLLECTION in the future.

3 years agoCI: don't generate GRAPHVIZ_VERSION file in macOS CMake build job
Magnus Jacobsson [Sun, 10 Oct 2021 09:06:31 +0000 (11:06 +0200)]
CI: don't generate GRAPHVIZ_VERSION file in macOS CMake build job

The version is generated internally to a variable in the CMake build
job and the downstream test job generates the file itself since commit
fea17b6a9738eb96f037e22538d1885a75f20698.

This commit moves the generation of the GRAPHVIZ_VERSION file from the
build template to the macOS autotools build job.

3 years agoMerge branch 'fix-awk-crlf-agnosticity-on-macos-catalina' into 'main'
Magnus Jacobsson [Mon, 11 Oct 2021 06:43:31 +0000 (06:43 +0000)]
Merge branch 'fix-awk-crlf-agnosticity-on-macos-catalina' into 'main'

Fix problem with awk crlf agnosticity on macOS Catalina

See merge request graphviz/graphviz!2210

3 years agocommon: CMake: make awk crlf agnostic when generating svgcolor_lib only when using...
Magnus Jacobsson [Sat, 9 Oct 2021 13:57:44 +0000 (15:57 +0200)]
common: CMake: make awk crlf agnostic when generating svgcolor_lib only when using Cygwin

3 years agocommon: autotools: make awk crlf agnostic when generating svgcolor_lib only when...
Magnus Jacobsson [Sat, 9 Oct 2021 13:58:46 +0000 (15:58 +0200)]
common: autotools: make awk crlf agnostic when generating svgcolor_lib only when using Cygwin

3 years agoMerge branch 'smattr/B8F865EA-1BE4-4990-96CF-2D5DCEB70122' into 'main'
Matthew Fernandez [Sun, 10 Oct 2021 21:35:32 +0000 (21:35 +0000)]
Merge branch 'smattr/B8F865EA-1BE4-4990-96CF-2D5DCEB70122' into 'main'

libgvc: replace header guards with more modern #pragma once

See merge request graphviz/graphviz!2212

3 years agolibgvc: replace header guards with more modern #pragma once
Matthew Fernandez [Sun, 10 Oct 2021 04:12:10 +0000 (21:12 -0700)]
libgvc: replace header guards with more modern #pragma once

3 years agoMerge branch 'smattr/0c5e6e8f-e750-47bf-b91f-d2c13242d5d1' into 'main'
Matthew Fernandez [Sun, 10 Oct 2021 20:17:12 +0000 (20:17 +0000)]
Merge branch 'smattr/0c5e6e8f-e750-47bf-b91f-d2c13242d5d1' into 'main'

remove generation of ps.h and commit generated output instead

See merge request graphviz/graphviz!2211

3 years agoremove generation of ps.h and commit generated output instead
Matthew Fernandez [Sat, 9 Oct 2021 21:24:03 +0000 (14:24 -0700)]
remove generation of ps.h and commit generated output instead

The generation of ps.h from ps.txt was trivial and ps.txt was no easier to edit
or update than the resulting generated header. Removing it and using a static
source instead accelerates all three builds, increases portability and moves
towards dropping the dependency on Awk.

Related to #2118.

3 years agoMerge branch 'smattr/a5361ad7-b54f-484d-9fde-b9b85f00e0d4' into 'main'
Matthew Fernandez [Sun, 10 Oct 2021 19:15:30 +0000 (19:15 +0000)]
Merge branch 'smattr/a5361ad7-b54f-484d-9fde-b9b85f00e0d4' into 'main'

lib/dotgen: clean up and warning squashing

See merge request graphviz/graphviz!2203

3 years agosameport: remove unused parameter
Matthew Fernandez [Thu, 7 Oct 2021 03:56:23 +0000 (20:56 -0700)]
sameport: remove unused parameter

3 years agosameport.c: remove obsolete code
Matthew Fernandez [Thu, 7 Oct 2021 03:55:37 +0000 (20:55 -0700)]
sameport.c: remove obsolete code

3 years agozapLayers: remove unused parameter
Matthew Fernandez [Thu, 7 Oct 2021 03:53:20 +0000 (20:53 -0700)]
zapLayers: remove unused parameter

3 years agocompleteregularpath: squash a -Wunused-parameter warning
Matthew Fernandez [Thu, 7 Oct 2021 03:50:21 +0000 (20:50 -0700)]
completeregularpath: squash a -Wunused-parameter warning

3 years agomake_regular_edge: use a proper boolean for checking edge type is spline
Matthew Fernandez [Thu, 7 Oct 2021 03:48:36 +0000 (20:48 -0700)]
make_regular_edge: use a proper boolean for checking edge type is spline

This change also removes a -Wshadow compiler warning.

3 years agodotsplines.c: rephrase some open coded fmin, fmax
Matthew Fernandez [Thu, 7 Oct 2021 03:43:31 +0000 (20:43 -0700)]
dotsplines.c: rephrase some open coded fmin, fmax

3 years agodotsplines.c: remove commented out code
Matthew Fernandez [Thu, 7 Oct 2021 03:43:16 +0000 (20:43 -0700)]
dotsplines.c: remove commented out code

3 years agodotsplines.c: remove unnecessary bracketing
Matthew Fernandez [Thu, 7 Oct 2021 03:34:44 +0000 (20:34 -0700)]
dotsplines.c: remove unnecessary bracketing

3 years agoportcmp: rephrase to avoid conversion to int
Matthew Fernandez [Thu, 7 Oct 2021 02:57:42 +0000 (19:57 -0700)]
portcmp: rephrase to avoid conversion to int

This function was seemingly incorrectly casting the (float) result of a float
subtraction to an integer. Apart from triggering compiler warnings, this had the
effect of concluding points that were merely close together were actually equal.

3 years ago_dot_splines: remove unnecessary cast and address operations
Matthew Fernandez [Thu, 7 Oct 2021 02:55:29 +0000 (19:55 -0700)]
_dot_splines: remove unnecessary cast and address operations

3 years agoMerge branch 'smattr/EF03B314-9D8C-4B6C-8466-8DC715A590E2' into 'main'
Matthew Fernandez [Sun, 10 Oct 2021 18:14:20 +0000 (18:14 +0000)]
Merge branch 'smattr/EF03B314-9D8C-4B6C-8466-8DC715A590E2' into 'main'

MS Build build system: remove minimal rebuild enabling

See merge request graphviz/graphviz!2207

3 years agoMS Build build system: remove minimal rebuild enabling
Matthew Fernandez [Sat, 9 Oct 2021 18:22:23 +0000 (11:22 -0700)]
MS Build build system: remove minimal rebuild enabling

This setting controls the `/Gm` flag to the compiler which is deprecated.¹ When
using this, the compiler warns:

  cl : command line warning D9035: option 'Gm' has been deprecated and will be
    removed in a future release

¹ https://docs.microsoft.com/en-us/cpp/build/reference/gm-enable-minimal-rebuild?view=msvc-160

3 years agoMerge branch 'smattr/E25E87C9-5338-4CDA-81A0-47CA52A1067A' into 'main'
Matthew Fernandez [Sun, 10 Oct 2021 16:27:12 +0000 (16:27 +0000)]
Merge branch 'smattr/E25E87C9-5338-4CDA-81A0-47CA52A1067A' into 'main'

smyrna: more dead code removal

See merge request graphviz/graphviz!2204

3 years agosmyrna: remove prototype for unimplemented 'btnTVUnhighlightAll_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:03:49 +0000 (21:03 -0700)]
smyrna: remove prototype for unimplemented 'btnTVUnhighlightAll_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVHighlightAll_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:03:22 +0000 (21:03 -0700)]
smyrna: remove prototype for unimplemented 'btnTVHighlightAll_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVUnselectAll_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:02:55 +0000 (21:02 -0700)]
smyrna: remove prototype for unimplemented 'btnTVUnselectAll_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVSelectAll_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:02:27 +0000 (21:02 -0700)]
smyrna: remove prototype for unimplemented 'btnTVSelectAll_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVFilterClear_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:02:01 +0000 (21:02 -0700)]
smyrna: remove prototype for unimplemented 'btnTVFilterClear_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVGotopage_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:01:24 +0000 (21:01 -0700)]
smyrna: remove prototype for unimplemented 'btnTVGotopage_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVLast_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:00:56 +0000 (21:00 -0700)]
smyrna: remove prototype for unimplemented 'btnTVLast_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVNext_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 04:00:26 +0000 (21:00 -0700)]
smyrna: remove prototype for unimplemented 'btnTVNext_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVPrevious_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 03:59:56 +0000 (20:59 -0700)]
smyrna: remove prototype for unimplemented 'btnTVPrevious_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVFirst_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 03:59:26 +0000 (20:59 -0700)]
smyrna: remove prototype for unimplemented 'btnTVFirst_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVFilter_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 03:58:51 +0000 (20:58 -0700)]
smyrna: remove prototype for unimplemented 'btnTVFilter_clicked_cb'

3 years agosmyrna: remove prototype for unimplemented 'btnTVDelete_clicked_cb'
Matthew Fernandez [Fri, 8 Oct 2021 03:58:20 +0000 (20:58 -0700)]
smyrna: remove prototype for unimplemented 'btnTVDelete_clicked_cb'

3 years agosmyrna: remove 'cgbTVSelect_toggled_cb' no-op
Matthew Fernandez [Fri, 8 Oct 2021 03:57:34 +0000 (20:57 -0700)]
smyrna: remove 'cgbTVSelect_toggled_cb' no-op

3 years agosmyrna: remove 'cgbTVVisible_toggled_cb' no-op
Matthew Fernandez [Fri, 8 Oct 2021 03:56:51 +0000 (20:56 -0700)]
smyrna: remove 'cgbTVVisible_toggled_cb' no-op

3 years agosmyrna: remove 'cgbTVHighlighted_toggled_cb' no-op
Matthew Fernandez [Fri, 8 Oct 2021 03:56:13 +0000 (20:56 -0700)]
smyrna: remove 'cgbTVHighlighted_toggled_cb' no-op

3 years agoMerge branch 'smattr/DFDF0E87-1EF5-490D-A08A-AB53B614A394' into 'main'
Matthew Fernandez [Sat, 9 Oct 2021 23:41:04 +0000 (23:41 +0000)]
Merge branch 'smattr/DFDF0E87-1EF5-490D-A08A-AB53B614A394' into 'main'

remove lib/spine

See merge request graphviz/graphviz!2206

3 years agoremove lib/spine
Matthew Fernandez [Sat, 9 Oct 2021 04:08:13 +0000 (21:08 -0700)]
remove lib/spine

Despite being compiled and hooked into all three build systems, nothing in
Graphviz uses this and none of its artifacts are installed. Its compilation
appears to be an exercise without purpose.

3 years agolibcommon: remove unused 'UF_remove'
Matthew Fernandez [Sat, 9 Oct 2021 04:06:52 +0000 (21:06 -0700)]
libcommon: remove unused 'UF_remove'

3 years agoMerge branch 'fix-bom-in-graphviz-version-file' into 'main'
Magnus Jacobsson [Sat, 9 Oct 2021 10:39:46 +0000 (10:39 +0000)]
Merge branch 'fix-bom-in-graphviz-version-file' into 'main'

CI: avoid BOM in GRAPHVIZ_VERSION file in windows build jobs

Closes #2133

See merge request graphviz/graphviz!2205

3 years agoCI: remove archiving of GRAPHVIZ_VERSION from MinGW and Cygwin CMake jobs
Magnus Jacobsson [Fri, 8 Oct 2021 05:27:33 +0000 (07:27 +0200)]
CI: remove archiving of GRAPHVIZ_VERSION from MinGW and Cygwin CMake jobs

There're no downstream jobs to use it anyway and future CMake test
jobs can generate it themselves.

3 years agoCI: remove archiving of GRAPHVIZ_VERSION from the windows-cygwin-build-using-autogen job
Magnus Jacobsson [Fri, 8 Oct 2021 05:23:35 +0000 (07:23 +0200)]
CI: remove archiving of GRAPHVIZ_VERSION from the windows-cygwin-build-using-autogen job

There's no downstream job to use it anyway and a future test job can
generate it itself.

3 years agoCI: add generation of GRAPHVIZ_VERSION also for macOS CMake test job
Magnus Jacobsson [Fri, 8 Oct 2021 05:02:10 +0000 (07:02 +0200)]
CI: add generation of GRAPHVIZ_VERSION also for macOS CMake test job

Commit b4047f93aa3c1a3718b39493e5814532fa0850fe added this for all
other jobs, but missed the macOS test job for some reason.

3 years agoCI: avoid BOM in GRAPHVIZ_VERSION file in windows-cygwin-build-using-autogen job
Magnus Jacobsson [Thu, 7 Oct 2021 18:20:32 +0000 (20:20 +0200)]
CI: avoid BOM in GRAPHVIZ_VERSION file in windows-cygwin-build-using-autogen job

Towards https://gitlab.com/graphviz/graphviz/-/issues/2133.

3 years agoCI: avoid BOM in COLLECTION file in windows build jobs
Magnus Jacobsson [Thu, 7 Oct 2021 18:19:18 +0000 (20:19 +0200)]
CI: avoid BOM in COLLECTION file in windows build jobs

3 years agoCI: avoid BOM in GRAPHVIZ_VERSION file in windows build jobs
Magnus Jacobsson [Thu, 7 Oct 2021 18:19:02 +0000 (20:19 +0200)]
CI: avoid BOM in GRAPHVIZ_VERSION file in windows build jobs

Towards https://gitlab.com/graphviz/graphviz/-/issues/2133.

3 years agoMerge branch 'smattr/05f4cdeb-0e09-4cfc-ac55-d8822807d4a5' into 'main'
Matthew Fernandez [Fri, 8 Oct 2021 16:00:17 +0000 (16:00 +0000)]
Merge branch 'smattr/05f4cdeb-0e09-4cfc-ac55-d8822807d4a5' into 'main'

libcommon: provide more generic XML escaping

See merge request graphviz/graphviz!2198

3 years agocommon: remove 'xml_url_string'
Matthew Fernandez [Mon, 4 Oct 2021 00:19:44 +0000 (17:19 -0700)]
common: remove 'xml_url_string'

As of the previous commit, all calls to `xml_url_string` have been replaced with
calls to `xml_escape`.

Related to #1868.

3 years agoreplace 'gvputs(… xml_url_string(…))' with 'xml_escape(…)'
Matthew Fernandez [Mon, 4 Oct 2021 00:13:29 +0000 (17:13 -0700)]
replace 'gvputs(… xml_url_string(…))' with 'xml_escape(…)'

Similar to previous `xml_string` and `xml_string0` related changes, this avoids
dynamic allocations and makes the affected code thread safe.

Related to #1868.

3 years agocommon: remove 'xml_string0'
Matthew Fernandez [Sun, 3 Oct 2021 23:53:43 +0000 (16:53 -0700)]
common: remove 'xml_string0'

All calls of this function have now been refactored to use `xml_escape`.

Related to #1868.

3 years agocommon: remove 'xml_string'
Matthew Fernandez [Sun, 3 Oct 2021 23:48:16 +0000 (16:48 -0700)]
common: remove 'xml_string'

All calls of this function have now been refactored to use `xml_escape`.

Related to #1868.

3 years agogv2gml emitAttr: replace 'fprintf(… xml_string(…))' with 'xml_escape(…)'
Matthew Fernandez [Sun, 3 Oct 2021 18:10:33 +0000 (11:10 -0700)]
gv2gml emitAttr: replace 'fprintf(… xml_string(…))' with 'xml_escape(…)'

Similar to the prior commits, this avoids dynamic allocation and improves thread
safety. This is intended to be a functional no-op.

Related to #1868.

3 years agopango_textlayout: replace 'agxbput(… xml_string0(…))' with 'xml_escape(…)'
Matthew Fernandez [Sun, 3 Oct 2021 17:30:18 +0000 (10:30 -0700)]
pango_textlayout: replace 'agxbput(… xml_string0(…))' with 'xml_escape(…)'

Similar to the prior commit, this avoids dynamic allocating – well, some,
`axbput` itself is still dynamically allocating – and improves thread safety.
This is intended to be a functional no-op.

Related to #1868.

3 years agoreplace 'gvputs(… xml_string0(…))' with 'xml_escape(…)'
Matthew Fernandez [Sun, 3 Oct 2021 17:15:48 +0000 (10:15 -0700)]
replace 'gvputs(… xml_string0(…))' with 'xml_escape(…)'

This is, again, a functional no-op. But it has the effect of removing dynamic
allocations and making this code thread-safe.

Related to #1868.

3 years agoreplace 'gvprintf(… xml_string(…))' with 'gvputs_xml'
Matthew Fernandez [Sat, 2 Oct 2021 03:35:39 +0000 (20:35 -0700)]
replace 'gvprintf(… xml_string(…))' with 'gvputs_xml'

A first demonstration of how to use the `xml_escape` functionality introduced in
preceding commits. Note that, while this is intended to be a non-functional
change, this does side step intermediate buffering in `xml_string` and escaped
output is now passed directly to `gvputs`.

Related to #1868.

3 years agoVisio plugin: replace redeclaration of 'xml_string' with a #include
Matthew Fernandez [Sun, 3 Oct 2021 17:03:07 +0000 (10:03 -0700)]
Visio plugin: replace redeclaration of 'xml_string' with a #include

There is no need for this duplicate prototype, or to lie about its type
signature.

Related to #1868.

3 years agoimplement a 'gvputs' alternative that does XML-escaping
Matthew Fernandez [Sun, 3 Oct 2021 16:35:36 +0000 (09:35 -0700)]
implement a 'gvputs' alternative that does XML-escaping

This will be used in an upcoming commit to replace `gvputs` when used in
combination with `xml_string`.

Related to #1868.

3 years agoplugin core: swap duplicated prototypes for missing includes
Matthew Fernandez [Sat, 2 Oct 2021 03:13:41 +0000 (20:13 -0700)]
plugin core: swap duplicated prototypes for missing includes

This file is calling functions `xml_string` `xml_url_string` without including
the header that prototypes them, utils.h. There seems to be no reason to avoid
this and locally re-prototype these functions.

Related to #1868.

3 years agoexpose a primitive 'xml_escape' for generic XML escaping
Matthew Fernandez [Sat, 2 Oct 2021 02:29:56 +0000 (19:29 -0700)]
expose a primitive 'xml_escape' for generic XML escaping

This function is intended to be a flexible XML-escaper that subsumes
`xml_string`, `xml_string0`, and `xml_url_string`. Unlike the preceding named
functions, calling `xml_escape` is thread-safe and does not mandate dynamic
allocation.

Related to #1868.

3 years agoxml_url_string: call xml_core instead of repeating logic
Matthew Fernandez [Sat, 2 Oct 2021 02:16:02 +0000 (19:16 -0700)]
xml_url_string: call xml_core instead of repeating logic

Related to #1868.

3 years agoxml_core: make '-' and ' ' escaping configurable
Matthew Fernandez [Sat, 2 Oct 2021 01:46:34 +0000 (18:46 -0700)]
xml_core: make '-' and ' ' escaping configurable

This is a non-functional change. It is preparation to allow `xml_url_string` to
use `xml_core`.

Related to #1868.

3 years agoxml_string0: outline the inner loop body functionality
Matthew Fernandez [Sat, 2 Oct 2021 01:35:26 +0000 (18:35 -0700)]
xml_string0: outline the inner loop body functionality

The motivation for this change is to move towards consolidating XML-escaping
functionality. The introduced function, `xml_core`, is intended to be usable by
`xml_url_string` and other Graphviz XML escaping functions in future.

This aim of consolidation hopefully also explains why this change looks more
complicated than might be expected. It is intended to be functionally a no-op.
But `xml_core` takes a generalized callback and state because it is imagined a
future caller may want to pass in, e.g. `gvputs` as their target sink for
XML-escaped data. That is, future changes may side step the static buffer usage
and allocation that happens in `xml_string0` and instead pump bytes directly
into a final target file.

Related to #1868

3 years agoxml_isentity: take a const pointer instead of a mutable one
Matthew Fernandez [Sat, 2 Oct 2021 01:10:14 +0000 (18:10 -0700)]
xml_isentity: take a const pointer instead of a mutable one

This function does not modify the pointed to data of its parameter, and this
will simplify some upcoming changes.

Related to #1868.