Commit Graph

167 Commits

Author SHA1 Message Date
Vincent Sanders
e275b3175b check dom call return and improve handling of missing form type 2018-10-09 17:00:22 +01:00
Vincent Sanders
7a61c95724 rewrite form_successful_controls_dom as form_dom_to_data
Trying to reason about error propagation and resource leakage within
 the form submission code was impossible because of the
 form_successful_controls_dom function.

This function was over six hundred lines long, had twenty six top
 level local variables and six levels of indent in places.

This commit splits it out into thirteen shorter and more obvious
 functions. The resulting operation is identical except errors are
 properly propagated (all failures were reported as out of memory)
 and resource management can be reasoned about.

The compiler appears to inline the entirety of the code from
 form_submit() down excepting a handful of leaf functions. This
 results in similar code output size as previous implementation.

The new implementation has a greater number of variables passed to sub
 functions than desirable because multiple character sets are required
 to encode names and values in the multipart data list. However as
 noted the compiler effectively inlines all these functions so this
 does not actually become a major problem.
2018-09-29 16:59:34 +01:00
Vincent Sanders
a268252629 gcc on openbsd is unable to reason about res variable usage and generates bogus warning 2018-09-26 21:32:35 +01:00
Vincent Sanders
5c96acd6f1 fix url encoding to be compatible with nsurl API changes.
As part of this fix the form submission error handling and
 reporting has been improved.
2018-09-26 17:21:48 +01:00
Vincent Sanders
e4537cb37e allow comments to supress implicit fallthrough warnings 2018-09-07 12:53:51 +01:00
Michael Drake
9d8f37ca10 HTML: Don't try to finish an HTML document's conversion twice. 2018-08-27 20:47:37 +01:00
Vincent Sanders
eee67a65e8 remove warning by replacing sprintf snprintf 2018-08-24 11:49:56 +01:00
Vincent Sanders
5dd5d5da4b remove warning by replacing strcpy with safer strncpy 2018-08-24 10:26:26 +01:00
Vincent Sanders
5f1defd4a7 fix size_t format specifiers 2018-08-18 23:44:15 +01:00
Michael Drake
62e3ee6c7e Layout: Use box helper for first child checks. 2018-06-29 15:03:47 +01:00
Michael Drake
049695fa07 Box: Add helper to check if box is first child. 2018-06-29 15:03:10 +01:00
Michael Drake
948207472a Layout: Tidy condition so it can be read. 2018-06-29 14:58:32 +01:00
Michael Drake
8a931f01b9 Plotters: Expose array of font family strings to front ends. 2018-05-23 14:02:53 +01:00
Michael Drake
66493421e6 Plotters: Change stroke width in the plot_style_t to fixed point. 2018-05-23 13:04:19 +01:00
Michael Drake
a58d97a41a Plotters: Add plot_style_fixed type, and use for font size. 2018-05-23 11:48:35 +01:00
Vincent Sanders
216fb88f58 clean up html content handler header use
Improve header use in preperation for making browser window a corewindow
2018-05-11 13:18:54 +01:00
Vincent Sanders
2a03ea3049 move html and text content handlers where they belong 2018-05-10 13:37:02 +01:00