Introduction
Introduction Statistics Contact Development Disclaimer Help
Refactor prev_prop into prev-struct with a single member prop - libgrapheme - u…
git clone git://git.suckless.org/libgrapheme
Log
Files
Refs
README
LICENSE
---
commit fd2d1969084185ff5e638c28066d0d35d510b7f0
parent a796095218b0524f957f76d6f3b501ebda700d44
Author: Laslo Hunhold <[email protected]>
Date: Thu, 17 Nov 2022 23:47:45 +0100
Refactor prev_prop into prev-struct with a single member prop
This makes it more consistent across the "cur" and "next" structs.
Signed-off-by: Laslo Hunhold <[email protected]>
Diffstat:
M src/bidirectional.c | 37 +++++++++++++++++------------…
1 file changed, 20 insertions(+), 17 deletions(-)
---
diff --git a/src/bidirectional.c b/src/bidirectional.c
@@ -11,7 +11,10 @@
struct isolate_runner {
int_least32_t *buf;
size_t buflen;
- enum bidi_property prev_prop;
+
+ struct {
+ enum bidi_property prop;
+ } prev;
struct {
size_t off;
@@ -193,7 +196,7 @@ isolate_runner_advance(struct isolate_runner *ir)
}
/* shift in */
- ir->prev_prop = ir->cur.prop;
+ ir->prev.prop = ir->cur.prop;
ir->cur.off = ir->next.off;
state_deserialize(ir->buf[ir->cur.off], &s);
ir->cur.prop = ir->next.prop;
@@ -205,12 +208,12 @@ isolate_runner_advance(struct isolate_runner *ir)
/*
* update last strong type, which is guaranteed to work properly
- * on the first advancement as the prev_prop holds the sos type,
+ * on the first advancement as the prev.prop holds the sos type,
* which can only be either R or L, which are both strong types
*/
- if (ir->prev_prop == BIDI_PROP_R || ir->prev_prop == BIDI_PROP_L ||
- ir->prev_prop == BIDI_PROP_AL) {
- ir->last_strong_type = ir->prev_prop;
+ if (ir->prev.prop == BIDI_PROP_R || ir->prev.prop == BIDI_PROP_L ||
+ ir->prev.prop == BIDI_PROP_AL) {
+ ir->last_strong_type = ir->prev.prop;
}
/* initialize next state by going to the next character in the sequence
@@ -352,15 +355,15 @@ process_isolating_run_sequence(int_least32_t *buf, size_t…
isolate_runner_init(buf, buflen, off, paragraph_level, false, &ir);
while (!isolate_runner_advance(&ir)) {
if (ir.cur.prop == BIDI_PROP_NSM) {
- if (ir.prev_prop == BIDI_PROP_LRI ||
- ir.prev_prop == BIDI_PROP_RLI ||
- ir.prev_prop == BIDI_PROP_FSI ||
- ir.prev_prop == BIDI_PROP_PDI) {
+ if (ir.prev.prop == BIDI_PROP_LRI ||
+ ir.prev.prop == BIDI_PROP_RLI ||
+ ir.prev.prop == BIDI_PROP_FSI ||
+ ir.prev.prop == BIDI_PROP_PDI) {
isolate_runner_set_current_prop(&ir,
BIDI_PROP_ON);
} else {
isolate_runner_set_current_prop(&ir,
- ir.prev_prop);
+ ir.prev.prop);
}
}
}
@@ -385,14 +388,14 @@ process_isolating_run_sequence(int_least32_t *buf, size_t…
/* W4 */
isolate_runner_init(buf, buflen, off, paragraph_level, false, &ir);
while (!isolate_runner_advance(&ir)) {
- if (ir.prev_prop == BIDI_PROP_EN &&
+ if (ir.prev.prop == BIDI_PROP_EN &&
(ir.cur.prop == BIDI_PROP_ES ||
ir.cur.prop == BIDI_PROP_CS) &&
ir.next.prop == BIDI_PROP_EN) {
isolate_runner_set_current_prop(&ir, BIDI_PROP_EN);
}
- if (ir.prev_prop == BIDI_PROP_AN &&
+ if (ir.prev.prop == BIDI_PROP_AN &&
ir.cur.prop == BIDI_PROP_CS &&
ir.next.prop == BIDI_PROP_AN) {
isolate_runner_set_current_prop(&ir, BIDI_PROP_AN);
@@ -499,13 +502,13 @@ process_isolating_run_sequence(int_least32_t *buf, size_t…
* check what follows and see if the text has
* the same direction on both sides
*/
- if (ir.prev_prop == BIDI_PROP_L &&
+ if (ir.prev.prop == BIDI_PROP_L &&
tmp.next.prop == BIDI_PROP_L) {
sequence_end = tmp.cur.off;
sequence_prop = BIDI_PROP_L;
- } else if ((ir.prev_prop == BIDI_PROP_R ||
- ir.prev_prop == BIDI_PROP_EN ||
- ir.prev_prop == BIDI_PROP_AN) &&
+ } else if ((ir.prev.prop == BIDI_PROP_R ||
+ ir.prev.prop == BIDI_PROP_EN ||
+ ir.prev.prop == BIDI_PROP_AN) &&
(tmp.next.prop == BIDI_PROP_R ||
tmp.next.prop == BIDI_PROP_EN ||
tmp.next.prop == BIDI_PROP_AN)) {
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.