mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-18 05:34:02 -04:00
parent
a5f8ed1b78
commit
e97e873b9e
2 changed files with 14 additions and 0 deletions
|
|
@ -123,6 +123,8 @@
|
||||||
* Sixel: large image resizes (triggered by e.g. large repeat counts in
|
* Sixel: large image resizes (triggered by e.g. large repeat counts in
|
||||||
`DECGRI`) are now truncated instead of ignored.
|
`DECGRI`) are now truncated instead of ignored.
|
||||||
* Sixel: a repeat count of 0 in `DECGRI` now emits a single sixel.
|
* Sixel: a repeat count of 0 in `DECGRI` now emits a single sixel.
|
||||||
|
* LIGHT ARC box drawing characters incorrectly rendered
|
||||||
|
platforms (https://codeberg.org/dnkl/foot/issues/914).
|
||||||
|
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#include "box-drawing.h"
|
#include "box-drawing.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <fenv.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#define LOG_MODULE "box-drawing"
|
#define LOG_MODULE "box-drawing"
|
||||||
|
|
@ -1282,9 +1284,19 @@ draw_box_drawings_light_arc(struct buf *buf, wchar_t wc)
|
||||||
const int num_samples = height * 16;
|
const int num_samples = height * 16;
|
||||||
|
|
||||||
for (int i = 0; i < num_samples; i++) {
|
for (int i = 0; i < num_samples; i++) {
|
||||||
|
errno = 0;
|
||||||
|
feclearexcept(FE_ALL_EXCEPT);
|
||||||
|
|
||||||
double y = i / 16.;
|
double y = i / 16.;
|
||||||
double x = sqrt(a2 * (1. - y * y / b2));
|
double x = sqrt(a2 * (1. - y * y / b2));
|
||||||
|
|
||||||
|
/* See math_error(7) */
|
||||||
|
if (errno != 0 ||
|
||||||
|
fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
const int row = round(y);
|
const int row = round(y);
|
||||||
const int col = round(x);
|
const int col = round(x);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue