]>
granicus.if.org Git - graphviz/log
Matthew Fernandez [Sat, 27 Nov 2021 21:56:15 +0000 (13:56 -0800)]
lib/gvc/gvc.def: [nfc] strip trailing whitespace
Matthew Fernandez [Sat, 27 Nov 2021 21:54:28 +0000 (13:54 -0800)]
implement next 'gvputs_nonascii' function
This is based on `fig_string`, `mp_string`, and `pic_string`, but outputting
data directly into the output file rather than a temporary buffer.
Related to #2051.
Matthew Fernandez [Sat, 4 Dec 2021 03:59:38 +0000 (03:59 +0000)]
Merge branch 'smattr/
E7C21AC3 -3A42-4520-8BEC-
C9657B7DC8F9 ' into 'main'
GDI+ plugin: some clean up and modernization
See merge request graphviz/graphviz!2307
Matthew Fernandez [Sat, 27 Nov 2021 03:43:33 +0000 (19:43 -0800)]
GDI+ plugin: rewrite 'FileStream' reference counting to be thread safe
Based on Microsoft sample code,¹ it seems like the expectation is that consumers
of the `IStream` API may expect to concurrently manipulate reference counts.
This change guards against this by making the referencing counting code use
lock-free atomics, based on the same Microsoft sample.
Note that this is essentially proactively addressing a latent issue as it is, in
general, unsafe to use Graphviz libraries or plugins in a multithreaded
environment right now.
¹ https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms752876(v=vs.85)
Matthew Fernandez [Sat, 27 Nov 2021 03:37:59 +0000 (19:37 -0800)]
GDI+ plugin: [nfc] avoid directly modifying 'FileStream' refcount
This change redirects all reference count modifications through `AddRef` instead
direction increments. Based on Microsoft sample implementation.¹
¹ https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms752876(v=vs.85)
Matthew Fernandez [Sat, 27 Nov 2021 02:35:40 +0000 (18:35 -0800)]
GDI+ plugin: [nfc] remove assumptions on lifetime of 'FileStream' filename
Avoiding an assumption on the lifetime of `us->name` provides one less thing to
think about when iterating on this code.
Matthew Fernandez [Sat, 27 Nov 2021 02:30:50 +0000 (18:30 -0800)]
GDI+ plugin: [nfc] use a const pointer for filename
The `FileStream` class does not need to modify this internally, so this avoids
the need for sketchy type casts.
Matthew Fernandez [Sat, 27 Nov 2021 01:31:23 +0000 (17:31 -0800)]
GDI+ plugin: use 'override' instead of 'virtual' on 'FileStream' methods
This C++11 mechanism is an improvement as it causes compilation to error out if
any of these methods were not already declared virtual in a parent class. That
is, it provides a sanity check that these overrides are really doing what they
intend.
Matthew Fernandez [Sat, 27 Nov 2021 01:27:11 +0000 (17:27 -0800)]
GDI+ plugin: [nfc] remove legacy use of a C-style cast
Matthew Fernandez [Sat, 27 Nov 2021 01:20:53 +0000 (17:20 -0800)]
GDI+ plugin: [nfc] strip trailing whitespace
Matthew Fernandez [Sat, 4 Dec 2021 02:01:05 +0000 (02:01 +0000)]
Merge branch 'smattr/
18D413B7 -67B7-4F3B-A544-
823A3810D062 ' into 'main'
fix missing author+date line in Debian changelog
See merge request graphviz/graphviz!2309
Matthew Fernandez [Sat, 27 Nov 2021 18:54:08 +0000 (10:54 -0800)]
fix missing author+date line in Debian changelog
Commit
42d7c87c291781ccaff47126a5ad3a2469e310cc omitted this required
information, resulting in warnings like the following in the build log:
dpkg-gencontrol: warning: debian/changelog(l7): found start of entry where
expected more change data or trailer
Matthew Fernandez [Fri, 3 Dec 2021 16:43:27 +0000 (16:43 +0000)]
Merge branch 'smattr/
2504A45F -EA4A-41EA-BF7F-
E758CD4AE122 ' into 'main'
lib/neatogen clean up
See merge request graphviz/graphviz!2308
Matthew Fernandez [Sat, 27 Nov 2021 18:47:47 +0000 (10:47 -0800)]
solve: [nfc] squash a -Wmissing-prototypes warning
Matthew Fernandez [Sat, 27 Nov 2021 18:40:14 +0000 (10:40 -0800)]
lu_decompose: [nfc] squash -Wmissing-prototypes warning
Matthew Fernandez [Sat, 27 Nov 2021 18:36:26 +0000 (10:36 -0800)]
lu_solve: [nfc] squash -Wmissing-prototypes warning
Matthew Fernandez [Sat, 27 Nov 2021 18:36:07 +0000 (10:36 -0800)]
matinv: [nfc] squash -Wmissing-prototypes warning
Matthew Fernandez [Sat, 27 Nov 2021 18:30:46 +0000 (10:30 -0800)]
find_intersection: [nfc] squash -Wunused-parameter warnings
Matthew Fernandez [Sat, 27 Nov 2021 18:28:24 +0000 (10:28 -0800)]
tclpkg sgnarea: [nfc] make sign extraction more obvious to the compiler
Squashes two -Wfloat-equal warnings. Equivalent of the previous commit, but
applied to tclpkg code that looks copy-pasted from neatogen.
Matthew Fernandez [Sat, 27 Nov 2021 18:25:40 +0000 (10:25 -0800)]
neaotgen sgnarea: [nfc] make sign extraction more obvious to the compiler
Squashes two -Wfloat-equal warnings.
Matthew Fernandez [Sat, 27 Nov 2021 18:16:21 +0000 (10:16 -0800)]
neato_layout: [nfc] squash a -Wsign-conversion warning
`Pack` is known non-negative in this branch.
Matthew Fernandez [Sat, 27 Nov 2021 18:09:04 +0000 (10:09 -0800)]
gvbisect: [nfc] rephrase an open coded 'fabs'
Matthew Fernandez [Sat, 27 Nov 2021 18:07:28 +0000 (10:07 -0800)]
lib/neatogen/edges.c: [nfc] remove unnecessary casts
Matthew Fernandez [Fri, 3 Dec 2021 02:11:11 +0000 (02:11 +0000)]
Merge branch 'smattr/
9F6685FF -CBD7-4AEA-B566-
EA006B3BC33D ' into 'main'
remove unnecessary casting
See merge request graphviz/graphviz!2306
Matthew Fernandez [Fri, 26 Nov 2021 18:04:31 +0000 (10:04 -0800)]
myiddisc_open: remove unnecessary casts of 'gctx'
Matthew Fernandez [Fri, 26 Nov 2021 18:04:16 +0000 (10:04 -0800)]
graphcmd: remove unnecessary cast of 'interp'
Matthew Fernandez [Fri, 26 Nov 2021 18:03:57 +0000 (10:03 -0800)]
SparseMatrix_import_matrix_market: remove unnecessary casts of 'val'
Matthew Fernandez [Fri, 26 Nov 2021 18:03:13 +0000 (10:03 -0800)]
poppler plugin: remove unnecessary casts around 'us->data'
Matthew Fernandez [Fri, 26 Nov 2021 18:02:15 +0000 (10:02 -0800)]
remove unnecessary casts on 'lt_symlist_t' members
Matthew Fernandez [Fri, 26 Nov 2021 18:00:22 +0000 (10:00 -0800)]
rsvg plugin: remove unnecessary casts around 'us->data'
Matthew Fernandez [Fri, 26 Nov 2021 17:59:03 +0000 (09:59 -0800)]
webp plugin: remove unnecessary casts when calling WebP functions
Matthew Fernandez [Fri, 26 Nov 2021 17:58:39 +0000 (09:58 -0800)]
webp plugin: remove unnecessary casts around 'us->data'
Matthew Fernandez [Fri, 26 Nov 2021 17:57:18 +0000 (09:57 -0800)]
gs plugin: remove unnecessary casts around 'us->data'
Matthew Fernandez [Fri, 26 Nov 2021 17:55:43 +0000 (09:55 -0800)]
gtk plugin: remove unnecessary casts around 'job->context'
Matthew Fernandez [Fri, 26 Nov 2021 17:55:08 +0000 (09:55 -0800)]
gtk plugin: remove commented out code
Matthew Fernandez [Fri, 26 Nov 2021 17:53:43 +0000 (09:53 -0800)]
gd plugin: remove unnecessary casts around 'us->data'
Matthew Fernandez [Fri, 26 Nov 2021 17:52:11 +0000 (09:52 -0800)]
pango plugin: remove unnecessary casts around 'us->data'
Matthew Fernandez [Fri, 26 Nov 2021 17:50:53 +0000 (09:50 -0800)]
gdk plugin: remove unnecessary casts around 'us->data'
Matthew Fernandez [Fri, 26 Nov 2021 17:46:04 +0000 (09:46 -0800)]
tcldot-graphcmd.c: remove commented out code
Matthew Fernandez [Thu, 2 Dec 2021 16:45:04 +0000 (16:45 +0000)]
Merge branch 'smattr/
2F6B4B43 -6BDB-40C6-83D2-
181D9E5CE03C ' into 'main'
misc cleanup
See merge request graphviz/graphviz!2305
Matthew Fernandez [Thu, 25 Nov 2021 18:07:30 +0000 (10:07 -0800)]
CMake: use a relative path to locate configure_plugins.cmake
`install` with `SCRIPT` supports using relative paths to the current directory,
so there is no need to use the less obvious `${TOP_SOURCE_DIR}`.
Matthew Fernandez [Thu, 25 Nov 2021 15:39:05 +0000 (07:39 -0800)]
CMake: stop configuring CMAKE_INCLUDE_PATH
This variable affects `find_file` and `find_path`.¹ `find_file` is not used in
Graphviz and `find_path` already defaults to the correct values for the current
platform.² This change avoids, among other things, hard-coding of the target
architecture as x86-64.
Related to #1973.
¹ see https://cmake.org/cmake/help/latest/variable/CMAKE_INCLUDE_PATH.html#variable:CMAKE_INCLUDE_PATH
² https://cmake.org/cmake/help/latest/command/find_path.html#command:find_path
Matthew Fernandez [Fri, 26 Nov 2021 06:12:57 +0000 (22:12 -0800)]
gvconfig_plugin_install_builtins: remove an unnecessary cast
Matthew Fernandez [Fri, 26 Nov 2021 06:12:44 +0000 (22:12 -0800)]
gvconfig.c: fix comment typo
Matthew Fernandez [Fri, 26 Nov 2021 06:07:15 +0000 (22:07 -0800)]
remove EXPERIMENTAL_MYFGETS-guarded code
Nothing in the build systems defines this.
Matthew Fernandez [Fri, 26 Nov 2021 06:03:00 +0000 (22:03 -0800)]
remove getenv detection
The code base extensively uses `getenv` without checking the `HAVE_GETENV` macro
this detection supplies. This is not a problem because `getenv` is provided as
far back as C89, and can be guaranteed to exist on all platforms for which
Graphviz currently compiles, as we require C99.
Matthew Fernandez [Tue, 30 Nov 2021 05:42:41 +0000 (05:42 +0000)]
Merge branch 'smattr/
162479A8 -250E-4F66-91BC-
61BECABD6150 ' into 'main'
fix claimed minimum supported CMake version
See merge request graphviz/graphviz!2302
Matthew Fernandez [Wed, 24 Nov 2021 03:35:27 +0000 (19:35 -0800)]
CMake: [nfc] standardize 'if' style
The if-style used in CMake files had no consistency. Meanwhile, the expression
in a CMake `endif` is ignored. We learned in the process of constructing the
prior commit that this is supported right back to CMake 3.1. So this commit
standardizes on no-space, no-expression if-style.
Matthew Fernandez [Wed, 24 Nov 2021 03:16:46 +0000 (19:16 -0800)]
fix claimed minimum supported CMake version
Commit
354ed2c644452f300b316d166386bd40d8fec76f , among others, introduced the
use of `$<TARGET_OBJECTS>` in `target_link_libraries` calls. The CMake docs¹
claim this is only officially supported from 3.21 onwards, despite working in
some prior versions. CMake provides binaries going back many versions² so it is
possible to manually bisect exactly what this wording in the CMake docs means.
Running this process yields the answer that CMake 3.9 is the first version that
does not error out when encountering `$<TARGET_OBJECTS>` in a
`target_link_libraries` expression.
Note that the Graphviz CMake files also use some features like `endif` without
an expression, which claims to only be supported from CMake 3.14 onwards.³
Despite this, versions as far back as CMake 3.1 support this syntax just fine.
¹ https://cmake.org/cmake/help/latest/command/target_link_libraries.html#linking-object-libraries-via-target-objects
² https://cmake.org/files/
³ https://cmake.org/cmake/help/v3.13/command/endif.html vs
https://cmake.org/cmake/help/v3.14/command/endif.html
Matthew Fernandez [Mon, 29 Nov 2021 17:28:28 +0000 (17:28 +0000)]
Merge branch 'smattr/
FC04297A -31DD-49E0-A0C0-
42C6CB63E00E ' into 'main'
ci/mingw-build.sh: install all packages with one pacman command
See merge request graphviz/graphviz!2313
Magnus Jacobsson [Tue, 5 Oct 2021 19:43:53 +0000 (21:43 +0200)]
ci/mingw-build.sh: install all packages with one pacman command
This is potentially faster.
Matthew Fernandez [Mon, 29 Nov 2021 16:28:02 +0000 (16:28 +0000)]
Merge branch 'smattr/
1FA2B68F -FA19-4465-9BFD-
8F82D6D786BD ' into 'main'
don't override library names in .def files
See merge request graphviz/graphviz!2314
Matthew Fernandez [Sun, 28 Nov 2021 19:15:12 +0000 (11:15 -0800)]
edgepaint: remove 'LIBRARY' declaration from the MSVC defs file
Similar to the prior commit and
2b92772d480f321bda6615140efa546abc5c66e9 , this
is a compatibility change that allows MinGW to also understand this file
correctly.
Suggested-by: Keno Fischer <keno@juliacomputing.com>
Magnus Jacobsson [Sun, 28 Nov 2021 12:32:28 +0000 (13:32 +0100)]
pathplan: don't override library name in .def file
Similarly as reported in
https://gitlab.com/graphviz/graphviz/-/issues/2156, the export name
override breaks the MinGW and Cygwin autotools builds. By not
specifying the export name, each toolchain should use its appropriate
default, which should at least work, even if it's not consistent
across toolchains.
Thanks @Keno.
Matthew Fernandez [Sat, 27 Nov 2021 22:23:19 +0000 (22:23 +0000)]
Merge branch 'smattr/
E89137C0 -15A3-4ACD-8BE0-
1211A728BB7E ' into 'main'
some bool modernization
See merge request graphviz/graphviz!2300
Matthew Fernandez [Sun, 21 Nov 2021 23:37:51 +0000 (15:37 -0800)]
neato_set_aspect: use a C99 bool return type instead of boolean
Matthew Fernandez [Sun, 21 Nov 2021 23:34:15 +0000 (15:34 -0800)]
extractMax_f: use a C99 bool return type instead of boolean
Matthew Fernandez [Sun, 21 Nov 2021 23:33:40 +0000 (15:33 -0800)]
lib/neatogen/dijkstra.c: remove a commented out #include
Matthew Fernandez [Sun, 21 Nov 2021 23:32:24 +0000 (15:32 -0800)]
extractMax: use a C99 bool return type instead of boolean
Matthew Fernandez [Sun, 21 Nov 2021 23:31:33 +0000 (15:31 -0800)]
neatogen bfs: use C99 bool return types instead of boolean
Matthew Fernandez [Sun, 21 Nov 2021 23:28:10 +0000 (15:28 -0800)]
idealsize: use a C99 bool return type instead of boolean
Matthew Fernandez [Sun, 21 Nov 2021 23:26:21 +0000 (15:26 -0800)]
pathscross: use a C99 bool return type instead of boolean
Matthew Fernandez [Sun, 21 Nov 2021 23:25:06 +0000 (15:25 -0800)]
conc.c: use C99 bools instead of booleans
Matthew Fernandez [Sun, 21 Nov 2021 23:23:07 +0000 (15:23 -0800)]
noClip; use a C99 bool return type instead of boolean
Matthew Fernandez [Sun, 21 Nov 2021 23:20:20 +0000 (15:20 -0800)]
htmlenv_t.objid_set: use a C99 bool instead of boolean
Matthew Fernandez [Sat, 27 Nov 2021 20:14:12 +0000 (20:14 +0000)]
Merge branch 'smattr/
b7d78258 -59ca-4b36-b34f-
3ba688801700 ' into 'main'
teach the Autotools build system that GTK headers are not part of Graphviz
See merge request graphviz/graphviz!2296
Matthew Fernandez [Sun, 21 Nov 2021 17:52:22 +0000 (09:52 -0800)]
teach the Autotools build system that GTK headers are not part of Graphviz
This is the equivalent of
fb5e2bf574739cc8225683aacfc6833d586a9e77 , but for
Smyrna’s use of GTK. It squashes 27 warnings.
Matthew Fernandez [Sat, 27 Nov 2021 19:14:01 +0000 (19:14 +0000)]
Merge branch 'smattr/
70447D6E -8DE8-42FE-938C-
6623A2094C4D ' into 'main'
tclpkg: remove C++ guards from simple.h
See merge request graphviz/graphviz!2297
Matthew Fernandez [Sun, 21 Nov 2021 18:24:40 +0000 (10:24 -0800)]
tclpkg: remove C++ guards from simple.h
This header is not shipped and not included by anything except C sources.
Moreover these guards gave the incorrect impression this header was usable from
C++. One of its structs contains a field, `final`, that is a C++ keyword, so it
is not possible to use this code from C++.
Matthew Fernandez [Sat, 27 Nov 2021 18:11:28 +0000 (18:11 +0000)]
Merge branch 'smattr/
A2038E24 -6EA2-49E9-9C64-
01EE8748A977 ' into 'main'
smyrna: more dead code removal
See merge request graphviz/graphviz!2298
Matthew Fernandez [Sun, 21 Nov 2021 17:33:22 +0000 (09:33 -0800)]
smyrna renderNodeLabels: remove unused 'nodeSize'
Matthew Fernandez [Sun, 21 Nov 2021 17:33:07 +0000 (09:33 -0800)]
smyrna edge_xdot: squash -Wunused-parameter warnings
Matthew Fernandez [Sun, 21 Nov 2021 17:32:43 +0000 (09:32 -0800)]
smyrna renderSmGraph: remove unused 'g' parameter
Matthew Fernandez [Sun, 21 Nov 2021 17:30:05 +0000 (09:30 -0800)]
smyrna set_boundaries: remove unused 't' parameter
Matthew Fernandez [Sun, 21 Nov 2021 17:28:59 +0000 (09:28 -0800)]
smyrna changetopfishfocus: remove unused 'z' parameter
Matthew Fernandez [Sun, 21 Nov 2021 17:27:02 +0000 (09:27 -0800)]
smyrna get_active_frame: remove unused 't' parameter
Matthew Fernandez [Sun, 21 Nov 2021 17:26:23 +0000 (09:26 -0800)]
smyrna prepare_topological_fisheye: remove unused 'gg'
Matthew Fernandez [Sun, 21 Nov 2021 17:23:18 +0000 (09:23 -0800)]
smyrna pick_object: replace use of large constant with 'FLT_MAX'
The compiler warns:
selectionfuncs.c: In function 'pick_object':
selectionfuncs.c:114:16: warning: conversion from 'int' to 'float' changes
value from '
999999999 ' to '1.0e+9f' [-Wfloat-conversion]
114 | float dist=
999999999 ;
| ^~~~~~~~~
The usage of `dist` in this function is really that its initial value needs to
be greater than any other value encountered, so `FLT_MAX` serves this purpose
better.
Matthew Fernandez [Sun, 21 Nov 2021 17:21:48 +0000 (09:21 -0800)]
smyrna combineCallback: squash -Wunused-parameter warnings
Matthew Fernandez [Sun, 21 Nov 2021 17:12:47 +0000 (09:12 -0800)]
smyrna frmobjectui.c: squash -Wunused-parameter warnings
Matthew Fernandez [Sun, 21 Nov 2021 17:10:17 +0000 (09:10 -0800)]
smyrna: remove unused 'on_attrRB0_clicked'
Matthew Fernandez [Sun, 21 Nov 2021 17:09:45 +0000 (09:09 -0800)]
smyrna: remove an unused strcasecmp.h include
The only use of `strcasecmp` in this file was removed in
3fff5a1665b4be68f5dc69c5315b64dd556ce17a .
Matthew Fernandez [Sat, 27 Nov 2021 17:10:32 +0000 (17:10 +0000)]
Merge branch 'smattr/
2BC8555C -71B7-4C94-A426-
C0222D7299D4 ' into 'main'
deploy.py: include Windows artifacts in generated JSON
See merge request graphviz/graphviz!2301
Matthew Fernandez [Tue, 23 Nov 2021 03:17:25 +0000 (19:17 -0800)]
deploy.py: simplify 'checksum' function
Commit
0b31ec29078ecee5b868b42453478f1dd8239d54 modified `checksum` so it only
produced a single checksum, SHA256. Therefore we can simplify the function to
just return that single checksum file instead of defining it as a generator.
Matthew Fernandez [Tue, 23 Nov 2021 03:08:35 +0000 (19:08 -0800)]
deploy.py: include Windows artifacts in generated JSON
This avoids the error prone manual process we have been stepping through for the
last few releases.
Matthew Fernandez [Tue, 23 Nov 2021 02:25:51 +0000 (18:25 -0800)]
deploy.py: outline functionality for deriving the 'format' field of JSON output
This will be used in a future commit to add Windows entries to the JSON data.
Matthew Fernandez [Fri, 26 Nov 2021 18:15:46 +0000 (18:15 +0000)]
Merge branch 'smattr/
054CE618 -2658-48EF-AEDD-
5402FB3AEB53 ' into 'main'
gen_version.py: add a '--output' flag, avoiding the need for encoding hacks
See merge request graphviz/graphviz!2293
Matthew Fernandez [Sat, 20 Nov 2021 17:31:11 +0000 (09:31 -0800)]
use gen_version.py’s '--output' option to avoid redirection, encoding hacks
Matthew Fernandez [Sat, 20 Nov 2021 16:33:02 +0000 (08:33 -0800)]
gen_version.py: add a '--output' flag
This allows the script itself to control text encoding used in the output. A
future commit will use this to avoid awkward juggling of locales and encoding
externally.
Matthew Fernandez [Thu, 25 Nov 2021 17:54:36 +0000 (17:54 +0000)]
Merge branch 'smattr/
788C09F1 -D6B8-4193-B283-
C68FE424A520 ' into 'main'
DEVELOPERS.md: document how to set dynamic loader path on macOS
See merge request graphviz/graphviz!2304
Matthew Fernandez [Thu, 25 Nov 2021 16:54:41 +0000 (08:54 -0800)]
DEVELOPERS.md: document how to set dynamic loader path on macOS
Matthew Fernandez [Thu, 25 Nov 2021 03:59:57 +0000 (03:59 +0000)]
Merge branch 'cross' into 'main'
cmd/dot: don't run dot -c when cross-compiling (CMake edition)
See merge request graphviz/graphviz!2299
Alyssa Ross [Fri, 12 Nov 2021 16:35:05 +0000 (16:35 +0000)]
cmd/dot: don't run dot -c when cross-compiling (CMake edition)
We probably can't execute the binary we've cross compiled.
Matthew Fernandez [Wed, 24 Nov 2021 16:47:40 +0000 (16:47 +0000)]
Merge branch 'smattr/
5D7A95BC -E75A-4C0C-A377-
4C66AD66D428 ' into 'main'
enable -Werror for MinGW CMake jobs
See merge request graphviz/graphviz!2294
Matthew Fernandez [Sat, 20 Nov 2021 16:06:51 +0000 (08:06 -0800)]
.gitlab-ci.yml: remove inaccurate comment
It looks like commit
406169f0382204d4bad8da9942bed9d865dfb022 accidentally
duplicated this line from earlier in the same list of commands.
Matthew Fernandez [Sat, 20 Nov 2021 16:05:22 +0000 (08:05 -0800)]
fail MinGW CMake CI jobs on any compiler warning
As of the prior commit, these builds are warning free.
Matthew Fernandez [Sat, 20 Nov 2021 18:10:27 +0000 (10:10 -0800)]
gvplugin_gdiplus_LTX_library: squash a -Wwrite-strings warning
In future, maybe `gvplugin_library_t` should be modified to make its string
member const, given it is always expected to be a string literal.
Matthew Fernandez [Sat, 20 Nov 2021 16:53:21 +0000 (08:53 -0800)]
work around MinGW’s lack of support for '%zu'
MinGW warns:
plugin/core/gvrender_core_dot.c: In function 'xdot_str_xbuf':
plugin/core/gvrender_core_dot.c:88:24: error: unknown conversion type
character 'z' in format [-Werror=format=]
88 | agxbprint (xb, "%s%zu -%s ", pfx, strlen(s), s);
| ^
plugin/core/gvrender_core_dot.c:88:29: error: format '%s' expects argument of
type 'char *', but argument 4 has type 'size_t' {aka 'unsigned int'}
[-Werror=format=]
88 | agxbprint (xb, "%s%zu -%s ", pfx, strlen(s), s);
| ~^ ~~~~~~~~~
| | |
| char * size_t {aka unsigned int}
| %d
plugin/core/gvrender_core_dot.c:88:20: error: too many arguments for format
[-Werror=format-extra-args]
88 | agxbprint (xb, "%s%zu -%s ", pfx, strlen(s), s);
| ^~~~~~~~~~~~
Matthew Fernandez [Sat, 20 Nov 2021 16:03:26 +0000 (08:03 -0800)]
gdiplusgen_textspan: squash -Wmisleading-indentation warning
Matthew Fernandez [Sat, 20 Nov 2021 15:56:56 +0000 (07:56 -0800)]
gdiplus plugin: make 'FileStream' destructor virtual
`FileStream::Release` optionally deletes `this`. This is OK because nothing
inherits from `FileStream`, but the compiler believes this is dangerous because
this class participates in an inheritance hierarchy and does not have a virtual
destructor. By giving it one, we silence the -Wdelete-non-virtual-dtor warning,
make it safer to inherit from this class in future, and make it safe to delete
a `FileStream` through an `IStream` pointer.