]> granicus.if.org Git - graphviz/log
graphviz
3 years agoMerge branch 'smattr/409a27e8-3d56-43a8-96aa-8763cae871c5' into 'main'
Matthew Fernandez [Tue, 20 Apr 2021 16:00:10 +0000 (16:00 +0000)]
Merge branch 'smattr/409a27e8-3d56-43a8-96aa-8763cae871c5' into 'main'

clean up and warning squashing in plugin/core

See merge request graphviz/graphviz!1902

3 years agoremove 3 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 04:27:21 +0000 (21:27 -0700)]
remove 3 -Wunused-parameter warnings

3 years agosquash a -Wsign-converion warning
Matthew Fernandez [Wed, 14 Apr 2021 04:23:25 +0000 (21:23 -0700)]
squash a -Wsign-converion warning

3 years agoremove vasprintf alternative in pov rendering
Matthew Fernandez [Wed, 14 Apr 2021 04:22:03 +0000 (21:22 -0700)]
remove vasprintf alternative in pov rendering

When we need to maintain a fallback option anyway, having a vasprintf
implementation does not gain us much. Moreover, nothing in the build system was
checking for the existence of vasprintf, so this code was never being used
anyway.

3 years agofix reuse of va_list in pov rendering
Matthew Fernandez [Wed, 14 Apr 2021 04:18:57 +0000 (21:18 -0700)]
fix reuse of va_list in pov rendering

While this often works out on certain architectures, it is technically not
allowed to use a va_list twice. This change fixes the el function for platforms
where reusing va_lists is not possible.

3 years agoremove short buffer path in pov rendering el
Matthew Fernandez [Wed, 14 Apr 2021 04:15:18 +0000 (21:15 -0700)]
remove short buffer path in pov rendering el

C99 vsnprintf semantics let you call the function with a NULL pointer to
discover the required number of bytes to print the given string. With this
ability, there is no longer any advantage to having two paths through this
function.

3 years agoremove unused variable assignment
Matthew Fernandez [Wed, 14 Apr 2021 04:08:22 +0000 (21:08 -0700)]
remove unused variable assignment

3 years agomark pov rendering function el as static
Matthew Fernandez [Wed, 14 Apr 2021 04:06:57 +0000 (21:06 -0700)]
mark pov rendering function el as static

This function is not used outside this file. Squashes a -Wmissing-prototype
warning.

3 years agosquash 2 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 04:05:39 +0000 (21:05 -0700)]
squash 2 -Wunused-parameter warnings

3 years agosquash a -Wunused-parameter warning
Matthew Fernandez [Wed, 14 Apr 2021 04:04:58 +0000 (21:04 -0700)]
squash a -Wunused-parameter warning

3 years agosquash a -Wconversion warning
Matthew Fernandez [Wed, 14 Apr 2021 04:04:12 +0000 (21:04 -0700)]
squash a -Wconversion warning

3 years agosquash 2 -Wsign-conversion warnings
Matthew Fernandez [Wed, 14 Apr 2021 04:00:22 +0000 (21:00 -0700)]
squash 2 -Wsign-conversion warnings

3 years agomark html_string in vml rendering as static
Matthew Fernandez [Wed, 14 Apr 2021 03:55:12 +0000 (20:55 -0700)]
mark html_string in vml rendering as static

This is not used outside this file. Squashes a -Wmissing-prototype warning.

3 years agosquash a -Wunused-parameter warning
Matthew Fernandez [Wed, 14 Apr 2021 03:54:22 +0000 (20:54 -0700)]
squash a -Wunused-parameter warning

3 years agosquash 3 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:53:11 +0000 (20:53 -0700)]
squash 3 -Wunused-parameter warnings

3 years agosquash 2 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:51:49 +0000 (20:51 -0700)]
squash 2 -Wunused-parameter warnings

3 years agosquash 2 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:49:57 +0000 (20:49 -0700)]
squash 2 -Wunused-parameter warnings

3 years agosquash some -Wundef warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:49:22 +0000 (20:49 -0700)]
squash some -Wundef warnings

3 years agosquash 2 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:48:15 +0000 (20:48 -0700)]
squash 2 -Wunused-parameter warnings

3 years agosquash 3 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:47:09 +0000 (20:47 -0700)]
squash 3 -Wunused-parameter warnings

3 years agosquash a -Wunused-parameter warning
Matthew Fernandez [Wed, 14 Apr 2021 03:46:39 +0000 (20:46 -0700)]
squash a -Wunused-parameter warning

3 years agosquash 2 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:45:42 +0000 (20:45 -0700)]
squash 2 -Wunused-parameter warnings

3 years agosquash 3 -Wconversion warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:45:01 +0000 (20:45 -0700)]
squash 3 -Wconversion warnings

3 years agosquash a -Wsign-conversion warning
Matthew Fernandez [Wed, 14 Apr 2021 03:44:00 +0000 (20:44 -0700)]
squash a -Wsign-conversion warning

3 years agosquash some -Wsign-conversion warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:43:11 +0000 (20:43 -0700)]
squash some -Wsign-conversion warnings

3 years agosquash 2 -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:40:20 +0000 (20:40 -0700)]
squash 2 -Wunused-parameter warnings

3 years agosquash 3 -Wconversion warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:37:29 +0000 (20:37 -0700)]
squash 3 -Wconversion warnings

3 years agosquash a -Wsign-conversion warning
Matthew Fernandez [Wed, 14 Apr 2021 03:28:04 +0000 (20:28 -0700)]
squash a -Wsign-conversion warning

3 years agosquash a -Wsign-conversion warning
Matthew Fernandez [Wed, 14 Apr 2021 03:25:58 +0000 (20:25 -0700)]
squash a -Wsign-conversion warning

3 years agouse a stronger type to toplevel parameter of set_attrwf for consistency
Matthew Fernandez [Wed, 14 Apr 2021 03:24:17 +0000 (20:24 -0700)]
use a stronger type to toplevel parameter of set_attrwf for consistency

3 years agouse a stronger type to squash 3 -Wconversion warnings in set_attrwf
Matthew Fernandez [Wed, 14 Apr 2021 03:23:37 +0000 (20:23 -0700)]
use a stronger type to squash 3 -Wconversion warnings in set_attrwf

3 years agoremove the need to cast xdot_str parameters
Matthew Fernandez [Wed, 14 Apr 2021 03:15:52 +0000 (20:15 -0700)]
remove the need to cast xdot_str parameters

Squashes a -Wcast-qual warning.

3 years agosquash some -Wunused-parameter warnings
Matthew Fernandez [Wed, 14 Apr 2021 03:15:40 +0000 (20:15 -0700)]
squash some -Wunused-parameter warnings

3 years agosquash a -Wsign-conversion warning
Matthew Fernandez [Wed, 14 Apr 2021 03:08:51 +0000 (20:08 -0700)]
squash a -Wsign-conversion warning

3 years agosquash a -Wconversion warning in xdot_begin_graph
Matthew Fernandez [Wed, 14 Apr 2021 03:06:35 +0000 (20:06 -0700)]
squash a -Wconversion warning in xdot_begin_graph

Unclear why this variable was an int when it was even named as if it was an
unsigned short.

3 years agorewrite versionStr2Version to use strtoul
Matthew Fernandez [Wed, 14 Apr 2021 03:04:36 +0000 (20:04 -0700)]
rewrite versionStr2Version to use strtoul

The atoi function has no ability to report failure. There is no advantage to
using it over the safer strto* functions. This change also removes a
-Wconversion warning.

3 years agoremove shadowing of xbuf global
Matthew Fernandez [Wed, 14 Apr 2021 02:50:26 +0000 (19:50 -0700)]
remove shadowing of xbuf global

3 years agoremove commented out code
Matthew Fernandez [Wed, 14 Apr 2021 02:35:52 +0000 (19:35 -0700)]
remove commented out code

3 years agoremove unused PIC_COORDS_PER_LINE
Matthew Fernandez [Wed, 14 Apr 2021 02:27:50 +0000 (19:27 -0700)]
remove unused PIC_COORDS_PER_LINE

3 years agoMerge branch 'smattr/f7e0325f-8ecb-48b3-8e51-bb05a383d72d' into 'main'
Matthew Fernandez [Mon, 19 Apr 2021 04:33:47 +0000 (04:33 +0000)]
Merge branch 'smattr/f7e0325f-8ecb-48b3-8e51-bb05a383d72d' into 'main'

more clean up of manual memory management in visio plugin

See merge request graphviz/graphviz!1900

3 years agoremove CreateHyperlink
Matthew Fernandez [Tue, 13 Apr 2021 02:19:30 +0000 (19:19 -0700)]
remove CreateHyperlink

This function was adding no value over just calling the Hyperlink constructor
directly.

3 years agomanage Hyperlinks by value instead of pointer in the visio plugin
Matthew Fernandez [Tue, 13 Apr 2021 02:11:10 +0000 (19:11 -0700)]
manage Hyperlinks by value instead of pointer in the visio plugin

There is no inheritance involved here, so there was no advantage to manually
managing memory for Hyperlinks or passing them around by pointer.

3 years agofix: use managed memory for Hyperlink’s string pointers
Matthew Fernandez [Tue, 13 Apr 2021 01:57:36 +0000 (18:57 -0700)]
fix: use managed memory for Hyperlink’s string pointers

Similar to the prior fix to Run, this removes a latent safety issue with the
management of these pointers.

3 years agomanage _run member of Text as a value instead of a pointer
Matthew Fernandez [Tue, 13 Apr 2021 01:48:32 +0000 (18:48 -0700)]
manage _run member of Text as a value instead of a pointer

This member is never set to NULL and the Run class is not involved in any
inheritance hierarchy. So there is no need to heap-allocate it or pass it around
by pointer.

3 years agofix: use managed memory for Run’s _text member
Matthew Fernandez [Tue, 13 Apr 2021 01:40:25 +0000 (18:40 -0700)]
fix: use managed memory for Run’s _text member

This removes the need to manually manage memory for this member but, more
importantly makes this class copy-safe. The implicit copy constructor of this
class would copy the pointer in the _text member. When either the original
object or the new copy was deleted, the pointer would be freed leaving its
duplicate in the other copy dangling. Any attempt to access this would result in
use-after-free and deleting the object would cause a double-free.

Following this change, it is safe to copy a Run object. This issue was latent,
because no existing code causes a Run object to be copied.

3 years agoMerge branch 'smattr/ad4aa51f-c3fd-4ba1-97a5-61d0fba501eb' into 'main'
Matthew Fernandez [Sun, 18 Apr 2021 20:19:23 +0000 (20:19 +0000)]
Merge branch 'smattr/ad4aa51f-c3fd-4ba1-97a5-61d0fba501eb' into 'main'

some warning clean up in cmd/smyrna

See merge request graphviz/graphviz!1898

3 years agosquash -Wmissing-prototypes warning
Matthew Fernandez [Mon, 12 Apr 2021 04:40:39 +0000 (21:40 -0700)]
squash -Wmissing-prototypes warning

3 years agoremove unused parameter from glmotion_zoom
Matthew Fernandez [Mon, 12 Apr 2021 04:32:18 +0000 (21:32 -0700)]
remove unused parameter from glmotion_zoom

3 years agoremove unused inc_value variable in glmotion_zoom_inc
Matthew Fernandez [Mon, 12 Apr 2021 04:26:17 +0000 (21:26 -0700)]
remove unused inc_value variable in glmotion_zoom_inc

3 years agoremove unused Status variable
Matthew Fernandez [Mon, 12 Apr 2021 04:24:28 +0000 (21:24 -0700)]
remove unused Status variable

This was only used by LoadGLTextures that was recently removed.

3 years agosquash a -Wfloat-conversion warning
Matthew Fernandez [Mon, 12 Apr 2021 04:24:02 +0000 (21:24 -0700)]
squash a -Wfloat-conversion warning

3 years agoremove unused LoadGLTextures
Matthew Fernandez [Mon, 12 Apr 2021 04:10:56 +0000 (21:10 -0700)]
remove unused LoadGLTextures

3 years agosquash -Wunused-parameter in EmbedText
Matthew Fernandez [Mon, 12 Apr 2021 04:08:16 +0000 (21:08 -0700)]
squash -Wunused-parameter in EmbedText

3 years agosquash -Wunused-parameter warning in InsertImage
Matthew Fernandez [Mon, 12 Apr 2021 04:07:17 +0000 (21:07 -0700)]
squash -Wunused-parameter warning in InsertImage

3 years agosquash -Wunused-parameter warning in SetFont
Matthew Fernandez [Mon, 12 Apr 2021 04:06:27 +0000 (21:06 -0700)]
squash -Wunused-parameter warning in SetFont

3 years agosquash -Wunused-parameter warnings in SetStyle
Matthew Fernandez [Mon, 12 Apr 2021 04:05:49 +0000 (21:05 -0700)]
squash -Wunused-parameter warnings in SetStyle

3 years agosquash -Wunused-parameter in SetPenColor
Matthew Fernandez [Mon, 12 Apr 2021 04:05:22 +0000 (21:05 -0700)]
squash -Wunused-parameter in SetPenColor

3 years agosquash -Wunused-parameter warning in SetFillColor
Matthew Fernandez [Mon, 12 Apr 2021 04:04:49 +0000 (21:04 -0700)]
squash -Wunused-parameter warning in SetFillColor

3 years agofix -Wpointer-compare warning
Matthew Fernandez [Mon, 12 Apr 2021 04:03:01 +0000 (21:03 -0700)]
fix -Wpointer-compare warning

3 years agoremove unused filled variable from DrawPolygon
Matthew Fernandez [Mon, 12 Apr 2021 04:01:36 +0000 (21:01 -0700)]
remove unused filled variable from DrawPolygon

3 years agoremove unused parameter from set_options
Matthew Fernandez [Mon, 12 Apr 2021 03:57:38 +0000 (20:57 -0700)]
remove unused parameter from set_options

3 years agosquash a -Wstrict-prototypes warning
Matthew Fernandez [Mon, 12 Apr 2021 03:55:56 +0000 (20:55 -0700)]
squash a -Wstrict-prototypes warning

3 years agoremove unused parameter from arcmouseDrag
Matthew Fernandez [Mon, 12 Apr 2021 03:54:53 +0000 (20:54 -0700)]
remove unused parameter from arcmouseDrag

3 years agoremove unused parameter from arcmouseClick
Matthew Fernandez [Mon, 12 Apr 2021 03:49:40 +0000 (20:49 -0700)]
remove unused parameter from arcmouseClick

3 years agoremove unused code
Matthew Fernandez [Mon, 12 Apr 2021 03:13:04 +0000 (20:13 -0700)]
remove unused code

3 years agoMerge branch 'smattr/5EDB9D68-064A-4027-AFC3-A46101BAF4E5' into 'main'
Matthew Fernandez [Sun, 18 Apr 2021 05:02:48 +0000 (05:02 +0000)]
Merge branch 'smattr/5EDB9D68-064A-4027-AFC3-A46101BAF4E5' into 'main'

in Windows CI tasks, install Python 3 from Chocolatey

See merge request graphviz/graphviz!1896

3 years agoremove Python 3.8 fallback in Windows CI tasks
Matthew Fernandez [Sun, 11 Apr 2021 03:30:28 +0000 (20:30 -0700)]
remove Python 3.8 fallback in Windows CI tasks

As of the previous commit, Python >3.8 is installed prior to running this
script, so no fallback should be required. Python 3.8 can be removed from the
Windows build utilities repository.¹

  ¹ https://gitlab.com/graphviz/graphviz-build-utilities

3 years agoinstall Python 3 as a pre-requisite in Windows CI tasks
Matthew Fernandez [Sun, 11 Apr 2021 03:01:28 +0000 (20:01 -0700)]
install Python 3 as a pre-requisite in Windows CI tasks

Prior to this change, Python 3.8 was used on Windows in CI via the Windows
build dependencies repository.¹ This works but has a number of shortcomings:

  1. Upgrading the version of Python used in CI requires access to a Windows
     machine; and
  2. Upgrading the version of Python used in CI requires building CPython from
     source; and
  3. Python-dependent failures are hard to root cause because they may be an
     issue with how we built CPython.²

As of this commit, Python 3 is installed via the Chocolatey³ package manager.
At time of writing, this installs Python 3.9.4. This is not pinned to a specific
version – i.e. a new Chocolatey package of Python 3 will result in Graphviz
immediately using that in CI. I believe this is actually the behavior we want
right now; pro-actively catching any issues caused by Python upgrades.

This does not change the baseline requirement for Graphviz CI/test scripts from
Python 3.6. Scripts should still be written to be backwards compatible to 3.6.

As this change introduces a new non-trivial step in the Windows CI tasks,
execution time is relevant. At time of writing, the macOS jobs dominate Graphviz
CI execution time, both before and after this change. Thus I think this is
acceptable.

  ¹ https://gitlab.com/graphviz/graphviz-build-utilities
  ² E.g. #2000, “CI Python OSErrors from Windows tasks”
  ³ https://chocolatey.org/

3 years agoMerge branch 'smattr/d3552219-a755-4a56-9a55-2eebb5819810' into 'main'
Matthew Fernandez [Sun, 18 Apr 2021 03:36:06 +0000 (03:36 +0000)]
Merge branch 'smattr/d3552219-a755-4a56-9a55-2eebb5819810' into 'main'

more vpsc clean up

See merge request graphviz/graphviz!1895

3 years agopush a variable closer its use in generateYConstraints
Matthew Fernandez [Sun, 11 Apr 2021 02:45:46 +0000 (19:45 -0700)]
push a variable closer its use in generateYConstraints

3 years agopush a variable closer to its use in generateXConstraints
Matthew Fernandez [Sun, 11 Apr 2021 02:45:29 +0000 (19:45 -0700)]
push a variable closer to its use in generateXConstraints

3 years agouse range-based for loops to clean up some iteration
Matthew Fernandez [Sun, 11 Apr 2021 02:43:58 +0000 (19:43 -0700)]
use range-based for loops to clean up some iteration

3 years agocut variable dependency and push closer to its use in generateYConstraints
Matthew Fernandez [Sun, 11 Apr 2021 02:32:44 +0000 (19:32 -0700)]
cut variable dependency and push closer to its use in generateYConstraints

3 years agocut variable dependency and push closer to its use in generateXConstraints
Matthew Fernandez [Sun, 11 Apr 2021 02:32:11 +0000 (19:32 -0700)]
cut variable dependency and push closer to its use in generateXConstraints

3 years agoremove unnecessary manual indexing in generateYConstraints
Matthew Fernandez [Sun, 11 Apr 2021 02:30:26 +0000 (19:30 -0700)]
remove unnecessary manual indexing in generateYConstraints

It’s a little hard to see because the variable i is also shadowed within this
loop, but the loop index is unnecessary.

3 years agoremove unnecessary manual indexing in generateXConstraints
Matthew Fernandez [Sun, 11 Apr 2021 02:29:28 +0000 (19:29 -0700)]
remove unnecessary manual indexing in generateXConstraints

It’s a little hard to see because the variable i is also shadowed within this
loop, but the loop index is unnecessary.

3 years agomanage events collections in vpsc as values instead of pointers
Matthew Fernandez [Sun, 11 Apr 2021 02:18:36 +0000 (19:18 -0700)]
manage events collections in vpsc as values instead of pointers

This removes some manual memory management and optimizes the layout of these
elements (note emplace_back). Memory for individual events is now retained
slightly longer because a manual deletion of pointers event-by-event was removed
and we now rely on the final vector clean up to free this memory. But the impact
of this is expected to be negligible and outweighed by the improved layout.

3 years agoreplace some qsort calls with std::sort
Matthew Fernandez [Sun, 11 Apr 2021 02:06:31 +0000 (19:06 -0700)]
replace some qsort calls with std::sort

This is safer and has the potential to be more efficient. Note that this
required rewriting the involved comparator to judge less-than instead of a
three-outcome comparison.

3 years agoreplace a manual array with a vector in generateYConstraints
Matthew Fernandez [Sun, 11 Apr 2021 01:41:25 +0000 (18:41 -0700)]
replace a manual array with a vector in generateYConstraints

There is no need to manually manage memory for this collection.

3 years agoreplace a manual array with a vector in generateXConstraints
Matthew Fernandez [Sun, 11 Apr 2021 01:37:07 +0000 (18:37 -0700)]
replace a manual array with a vector in generateXConstraints

There is no need to manually manage memory for this collection.

3 years agomake events a local variable in generateXConstraints and generateYConstraints
Matthew Fernandez [Sun, 11 Apr 2021 01:27:12 +0000 (18:27 -0700)]
make events a local variable in generateXConstraints and generateYConstraints

Not only is this variable not used outside its containing file (could be
declared static), but its lifetime within both these functions is entirely
contained. Reusing the same global in these functions has no advantage, but
impairs the compiler’s ability to optimize by potentially confusing its alias
analysis.

3 years agoMerge branch 'smattr/187F4EB8-B1D4-4C94-B167-3B7BFDA60D06' into 'main'
Matthew Fernandez [Sun, 18 Apr 2021 02:53:17 +0000 (02:53 +0000)]
Merge branch 'smattr/187F4EB8-B1D4-4C94-B167-3B7BFDA60D06' into 'main'

more sfstropen removal

See merge request graphviz/graphviz!1894

3 years agoremove some unnecessary bracketing
Matthew Fernandez [Sat, 10 Apr 2021 21:27:32 +0000 (14:27 -0700)]
remove some unnecessary bracketing

3 years agofix some Windows detection in libexpr
Matthew Fernandez [Sat, 10 Apr 2021 21:03:28 +0000 (14:03 -0700)]
fix some Windows detection in libexpr

This silences some -Wundef warnings on non-Windows but, more importantly, makes
Windows environments more reliably see the code intended for them.

3 years agosquash a -Wsign-compare warning
Matthew Fernandez [Sat, 10 Apr 2021 20:51:21 +0000 (13:51 -0700)]
squash a -Wsign-compare warning

3 years agosquash a -Wunused-parameter
Matthew Fernandez [Sat, 10 Apr 2021 20:49:39 +0000 (13:49 -0700)]
squash a -Wunused-parameter

3 years agosquash a -Wunused-parameter warning
Matthew Fernandez [Sat, 10 Apr 2021 20:48:30 +0000 (13:48 -0700)]
squash a -Wunused-parameter warning

3 years agoemove use of persistent buffer in extokens
Matthew Fernandez [Sat, 10 Apr 2021 20:43:13 +0000 (13:43 -0700)]
emove use of persistent buffer in extokens

This removes a layer of indirection. Previously data was being written to the
persistent scratch space, ex->tmp, and then copied to a further temporary buffer
in tok. We now simply allocate to tok and write directly into it. This also
addresses an issue where the persistent buffer was being unconditionally used,
despite that it may have failed to be opened due to lack of memory.

Related to #1873.

3 years agoremove use of persistent buffer in exsplit
Matthew Fernandez [Sat, 10 Apr 2021 20:37:45 +0000 (13:37 -0700)]
remove use of persistent buffer in exsplit

This removes a layer of indirection. Previously data was being written to the
persistent scratch space, ex->tmp, and then copied to a further temporary buffer
in tok. We now simply allocate to tok and write directly into it. This also
addresses an issue where the persistent buffer was being unconditionally used,
despite that it may have failed to be opened due to lack of memory.

Related to #1873.

3 years agouse a local buffer for expr sprintf instead of a persistent one
Matthew Fernandez [Sat, 10 Apr 2021 20:12:34 +0000 (13:12 -0700)]
use a local buffer for expr sprintf instead of a persistent one

Though this introduces another call to sfstropen, it is actually a step towards
removing sfstropen calls. The first part of this is localizing existing usages;
avoiding the ex->tmp buffer. Then the implementation of expr’s sprintf itself
will need to be refactored to operate on a non-SFIO buffer.

Note that this also addresses an issue where expr’s sprintf would use the
persistent buffer even if prior opening of it had failed due to lack of memory.

Related to #1873.

3 years agoremove use of persistent buffer in str_add
Matthew Fernandez [Sat, 10 Apr 2021 19:49:58 +0000 (12:49 -0700)]
remove use of persistent buffer in str_add

Related to #1873.

3 years agoremove some unnecessary casts
Matthew Fernandez [Sat, 10 Apr 2021 19:38:35 +0000 (12:38 -0700)]
remove some unnecessary casts

These pointers implicitly coerce.

3 years agoMerge branch 'smattr/71d79a68-7f10-496c-bc4b-41406129743b' into 'main'
Matthew Fernandez [Sun, 18 Apr 2021 01:09:31 +0000 (01:09 +0000)]
Merge branch 'smattr/71d79a68-7f10-496c-bc4b-41406129743b' into 'main'

remove another use of setjmp/longjmp

See merge request graphviz/graphviz!1893

3 years agoremove now unused jmp buffer
Matthew Fernandez [Sat, 10 Apr 2021 02:48:41 +0000 (19:48 -0700)]
remove now unused jmp buffer

Having unraveled the use of longjmp here, the jmp_buf and its setup are no
longer required.

On GCC 8.3.0 this removes a -Wclobbered warning. Though interestingly the
warning text itself is a false positive, referencing nverts that is not used in
the setjmp(…)!=0 path. The actual dangerously used variables in this scenario
were polygon_list and vertex_list. My take away here is that *any* -Wclobbered
warning is typically an indicator of incorrect code. I have never seen a
-Wclobbered warning (from any compiler) for code that was not buggy.

Related to #1801.

3 years agoreturn an error value instead of longjmping out of find_ints
Matthew Fernandez [Sat, 10 Apr 2021 02:43:34 +0000 (19:43 -0700)]
return an error value instead of longjmping out of find_ints

Related to #1801.

3 years agoanticipate <0 meaning failure from find_ints
Matthew Fernandez [Sat, 10 Apr 2021 02:38:14 +0000 (19:38 -0700)]
anticipate <0 meaning failure from find_ints

find_ints does not currently return negative values. It returns only 0 or 1.
However, we would like to unravel a use of longjmp within it, so returning a
negative value to indicate an error is convenient. This is preparation for
upcoming changes. Related to #1801.

3 years agofix comment typo
Matthew Fernandez [Sat, 10 Apr 2021 02:26:37 +0000 (19:26 -0700)]
fix comment typo

3 years agoMerge branch 'smattr/a2c0e10b-3770-4314-9761-004b3181b192' into 'main'
Matthew Fernandez [Sun, 18 Apr 2021 00:29:05 +0000 (00:29 +0000)]
Merge branch 'smattr/a2c0e10b-3770-4314-9761-004b3181b192' into 'main'

observe CFLAGS and LDFLAGS when compiling C code during testing

See merge request graphviz/graphviz!1903

3 years agoecho C compiler commands in the test suite
Matthew Fernandez [Fri, 16 Apr 2021 00:29:57 +0000 (17:29 -0700)]
echo C compiler commands in the test suite

If a test compiles and/or runs C code and that test fails, included in the test
suite output will now be the commands themselves that were run, echoed in the
style of Bash’s set -x.

3 years agofix a Python type signature
Matthew Fernandez [Fri, 16 Apr 2021 00:29:30 +0000 (17:29 -0700)]
fix a Python type signature

Technically List[str] is the type of a list of strings, not [str].