mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-18 22:06:04 +01:00
58a7d08fb7
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
1315 lines
34 KiB
Diff
1315 lines
34 KiB
Diff
diff -Naur tweak-3.02/actions.c tweak-3.02.patched/actions.c
|
|
--- tweak-3.02/actions.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/actions.c 2021-09-07 14:21:21.913810300 -0400
|
|
@@ -112,11 +112,11 @@
|
|
display_write_str (question);
|
|
display_refresh();
|
|
}
|
|
- safe_update = TRUE;
|
|
+ safe_update = true;
|
|
#endif
|
|
c = display_getkey();
|
|
#if defined(unix) && !defined(GO32)
|
|
- safe_update = FALSE;
|
|
+ safe_update = false;
|
|
#endif
|
|
if (c >= 'a' && c <= 'z')
|
|
c += 'A'-'a';
|
|
@@ -130,32 +130,43 @@
|
|
return; /* don't even quit */
|
|
}
|
|
}
|
|
- finished = TRUE;
|
|
+ finished = true;
|
|
}
|
|
|
|
-static void act_save(void) {
|
|
- static int backed_up = FALSE;
|
|
+static bool act_save_internal(void) {
|
|
+ static bool backed_up = false;
|
|
|
|
+ if (look_mode) {
|
|
+ display_beep();
|
|
+ strcpy (message, "Cannot save in LOOK mode!");
|
|
+ return false;
|
|
+ }
|
|
if (!backed_up) {
|
|
if (!backup_file()) {
|
|
display_beep();
|
|
strcpy (message, "Unable to back up file!");
|
|
- return;
|
|
+ return false;
|
|
}
|
|
- backed_up = TRUE;
|
|
+ backed_up = true;
|
|
}
|
|
if (!save_file()) {
|
|
display_beep();
|
|
strcpy (message, "Unable to save file!");
|
|
- return;
|
|
+ return false;
|
|
}
|
|
- modified = FALSE;
|
|
+ modified = false;
|
|
+ return true;
|
|
+}
|
|
+
|
|
+static void act_save(void) {
|
|
+ act_save_internal(); /* just discard the bool return value */
|
|
}
|
|
|
|
static void act_exitsave(void) {
|
|
- act_save();
|
|
- draw_scr(); /* update ** on status line */
|
|
- act_exit();
|
|
+ if (act_save_internal()) {
|
|
+ draw_scr(); /* update ** on status line */
|
|
+ act_exit();
|
|
+ }
|
|
}
|
|
|
|
static void act_top (void) {
|
|
@@ -294,7 +305,7 @@
|
|
display_beep();
|
|
sprintf(message, "Can't engage Insert mode when in %s mode",
|
|
(look_mode ? "LOOK" : "FIX"));
|
|
- insert_mode = FALSE; /* safety! */
|
|
+ insert_mode = false; /* safety! */
|
|
} else
|
|
insert_mode = !insert_mode;
|
|
}
|
|
@@ -307,7 +318,7 @@
|
|
}
|
|
|
|
void act_self_ins(void) {
|
|
- int insert = insert_mode;
|
|
+ bool insert = insert_mode;
|
|
unsigned char c;
|
|
|
|
if (look_mode) {
|
|
@@ -352,17 +363,17 @@
|
|
buf_fetch_data(filedata, &c, 1, cur_pos);
|
|
c &= 0xF0;
|
|
c |= last_char;
|
|
- insert = FALSE;
|
|
+ insert = false;
|
|
break;
|
|
}
|
|
|
|
if (insert) {
|
|
buf_insert_data(filedata, &c, 1, cur_pos);
|
|
file_size++;
|
|
- modified = TRUE;
|
|
+ modified = true;
|
|
} else if (cur_pos < file_size) {
|
|
buf_overwrite_data(filedata, &c, 1, cur_pos);
|
|
- modified = TRUE;
|
|
+ modified = true;
|
|
} else {
|
|
display_beep();
|
|
strcpy(message, "End of file reached");
|
|
@@ -379,7 +390,7 @@
|
|
buf_delete (filedata, 1, cur_pos);
|
|
file_size--;
|
|
edit_type = !!edit_type;
|
|
- modified = TRUE;
|
|
+ modified = true;
|
|
}
|
|
}
|
|
|
|
@@ -391,7 +402,7 @@
|
|
buf_delete (filedata, 1, cur_pos);
|
|
file_size--;
|
|
edit_type = !!edit_type;
|
|
- modified = TRUE;
|
|
+ modified = true;
|
|
}
|
|
}
|
|
|
|
@@ -399,7 +410,7 @@
|
|
if (look_mode) {
|
|
display_beep();
|
|
strcpy (message, "Can't cut or paste in LOOK mode");
|
|
- marking = FALSE; /* safety */
|
|
+ marking = false; /* safety */
|
|
return;
|
|
}
|
|
marking = !marking;
|
|
@@ -435,8 +446,8 @@
|
|
if (top_pos > cur_pos)
|
|
top_pos = begline(cur_pos);
|
|
edit_type = !!edit_type;
|
|
- modified = TRUE;
|
|
- marking = FALSE;
|
|
+ modified = true;
|
|
+ marking = false;
|
|
}
|
|
|
|
static void act_copy (void) {
|
|
@@ -456,7 +467,7 @@
|
|
if (cutbuffer)
|
|
buf_free (cutbuffer);
|
|
cutbuffer = buf_copy (filedata, marksize, marktop);
|
|
- marking = FALSE;
|
|
+ marking = false;
|
|
}
|
|
|
|
static void act_paste (void) {
|
|
@@ -475,7 +486,7 @@
|
|
file_size -= cutsize;
|
|
}
|
|
buf_paste (filedata, cutbuffer, cur_pos);
|
|
- modified = TRUE;
|
|
+ modified = true;
|
|
cur_pos += cutsize;
|
|
file_size += cutsize;
|
|
edit_type = !!edit_type;
|
|
@@ -494,9 +505,9 @@
|
|
static void act_goto (void) {
|
|
char buffer[80];
|
|
fileoffset_t position, new_top;
|
|
- int error;
|
|
+ bool error;
|
|
|
|
- if (!get_str("Enter position to go to: ", buffer, FALSE))
|
|
+ if (!get_str("Enter position to go to: ", buffer, false))
|
|
return; /* user break */
|
|
|
|
position = parse_num (buffer, &error);
|
|
@@ -531,16 +542,16 @@
|
|
statfmt = decstatus;
|
|
}
|
|
|
|
-static int search_prompt(char *withdef, char *withoutdef)
|
|
+static bool search_prompt(char *withdef, char *withoutdef)
|
|
{
|
|
char buffer[80];
|
|
int len;
|
|
|
|
- if (!get_str(last_search ? withdef : withoutdef, buffer, TRUE))
|
|
- return 0; /* user break */
|
|
+ if (!get_str(last_search ? withdef : withoutdef, buffer, true))
|
|
+ return false; /* user break */
|
|
if (!last_search && !*buffer) {
|
|
strcpy (message, "Search aborted.");
|
|
- return 0;
|
|
+ return false;
|
|
}
|
|
|
|
if (!*buffer) {
|
|
@@ -550,14 +561,14 @@
|
|
if (len == -1) {
|
|
display_beep();
|
|
strcpy (message, "Invalid escape sequence in search string");
|
|
- return 0;
|
|
+ return false;
|
|
}
|
|
if (last_search)
|
|
free_search(last_search);
|
|
last_search = build_search (buffer, len);
|
|
}
|
|
|
|
- return 1;
|
|
+ return true;
|
|
}
|
|
|
|
static void act_search (void) {
|
|
@@ -660,10 +671,10 @@
|
|
char prompt[80];
|
|
fileoffset_t w;
|
|
fileoffset_t new_top;
|
|
- int error;
|
|
+ bool error;
|
|
|
|
sprintf (prompt, "Enter screen width in bytes (now %"OFF"d): ", width);
|
|
- if (!get_str (prompt, buffer, FALSE))
|
|
+ if (!get_str (prompt, buffer, false))
|
|
return;
|
|
w = parse_num (buffer, &error);
|
|
if (error) {
|
|
@@ -686,11 +697,11 @@
|
|
char prompt[80];
|
|
fileoffset_t o;
|
|
fileoffset_t new_top;
|
|
- int error;
|
|
+ bool error;
|
|
|
|
sprintf (prompt, "Enter start-of-file offset in bytes (now %"OFF"d): ",
|
|
realoffset);
|
|
- if (!get_str (prompt, buffer, FALSE))
|
|
+ if (!get_str (prompt, buffer, false))
|
|
return;
|
|
o = parse_num (buffer, &error);
|
|
if (error) {
|
|
diff -Naur tweak-3.02/btree.c tweak-3.02.patched/btree.c
|
|
--- tweak-3.02/btree.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/btree.c 2021-09-07 14:21:21.902810301 -0400
|
|
@@ -47,7 +47,7 @@
|
|
* - user-supplied copy function.
|
|
* - bt_add when element already exists.
|
|
* - bt_del when element doesn't.
|
|
- * - splitpos with before==TRUE.
|
|
+ * - splitpos with before==true.
|
|
* - split() on sorted elements (but it should be fine).
|
|
* - bt_replace, at all (it won't be useful until we get user read
|
|
* properties).
|
|
@@ -162,13 +162,6 @@
|
|
free(p);
|
|
}
|
|
|
|
-#ifndef FALSE
|
|
-#define FALSE 0
|
|
-#endif
|
|
-#ifndef TRUE
|
|
-#define TRUE 1
|
|
-#endif
|
|
-
|
|
/* We could probably do with more compiler-specific branches of this #if. */
|
|
#if defined(__GNUC__)
|
|
#define INLINE __inline
|
|
@@ -274,7 +267,7 @@
|
|
/*
|
|
* Determine whether a node is a leaf node or not.
|
|
*/
|
|
-static INLINE int bt_is_leaf(btree *bt, nodeptr n)
|
|
+static INLINE bool bt_is_leaf(btree *bt, nodeptr n)
|
|
{
|
|
return n[0].na.p == NULL;
|
|
}
|
|
@@ -292,7 +285,7 @@
|
|
#else
|
|
memset((char *)ret + bt->propoffset, 0, bt->propsize);
|
|
#endif
|
|
- testlock(TRUE, TRUE, ret);
|
|
+ testlock(true, true, ret);
|
|
return ret;
|
|
}
|
|
|
|
@@ -301,7 +294,7 @@
|
|
*/
|
|
static INLINE void bt_destroy_node(btree *bt, nodeptr n)
|
|
{
|
|
- testlock(TRUE, FALSE, n);
|
|
+ testlock(true, false, n);
|
|
/* Free the property. */
|
|
bt->propmerge(bt->userstate, NULL, NULL, n + bt->maxdegree * 2 + 2);
|
|
sfree(n);
|
|
@@ -312,8 +305,8 @@
|
|
*/
|
|
static INLINE nodeptr bt_reuse_node(btree *bt, nodeptr n, int nsubtrees)
|
|
{
|
|
- testlock(TRUE, FALSE, n);
|
|
- testlock(TRUE, TRUE, n);
|
|
+ testlock(true, false, n);
|
|
+ testlock(true, true, n);
|
|
n[bt->maxdegree*2-1].i = nsubtrees;
|
|
return n;
|
|
}
|
|
@@ -405,10 +398,10 @@
|
|
if (addr.p && addr.p[bt->maxdegree*2+1].i > 1) {
|
|
nodeptr clone = bt_clone_node(bt, addr.p);
|
|
bt_set_child(bt, a, index, bt_node_addr(bt, clone));
|
|
- testlock(TRUE, TRUE, clone);
|
|
+ testlock(true, true, clone);
|
|
return clone;
|
|
}
|
|
- testlock(TRUE, TRUE, addr.p);
|
|
+ testlock(true, true, addr.p);
|
|
return addr.p;
|
|
}
|
|
static INLINE nodeptr bt_write_lock_root(btree *bt)
|
|
@@ -417,21 +410,21 @@
|
|
if (addr.p && addr.p[bt->maxdegree*2+1].i > 1) {
|
|
nodeptr clone = bt_clone_node(bt, addr.p);
|
|
bt->root = bt_node_addr(bt, clone);
|
|
- testlock(TRUE, TRUE, clone);
|
|
+ testlock(true, true, clone);
|
|
return clone;
|
|
}
|
|
- testlock(TRUE, TRUE, addr.p);
|
|
+ testlock(true, true, addr.p);
|
|
return addr.p;
|
|
}
|
|
static INLINE nodeptr bt_read_lock(btree *bt, node_addr a)
|
|
{
|
|
- testlock(FALSE, TRUE, a.p);
|
|
+ testlock(false, true, a.p);
|
|
return a.p;
|
|
}
|
|
#define bt_read_lock_root(bt) (bt_read_lock(bt, (bt)->root))
|
|
#define bt_read_lock_child(bt,a,index) (bt_read_lock(bt,bt_child(bt,a,index)))
|
|
|
|
-static INLINE void bt_write_relock(btree *bt, nodeptr n, int props)
|
|
+static INLINE void bt_write_relock(btree *bt, nodeptr n, bool props)
|
|
{
|
|
int i, ns, count;
|
|
|
|
@@ -443,8 +436,8 @@
|
|
for (i = 0; i < ns; i++)
|
|
count += bt_child_count(bt, n, i);
|
|
n[bt->maxdegree*2].i = count;
|
|
- testlock(TRUE, FALSE, n);
|
|
- testlock(TRUE, TRUE, n);
|
|
+ testlock(true, false, n);
|
|
+ testlock(true, true, n);
|
|
|
|
/*
|
|
* Update user read properties.
|
|
@@ -477,13 +470,13 @@
|
|
}
|
|
|
|
static INLINE node_addr bt_write_unlock_internal(btree *bt, nodeptr n,
|
|
- int props)
|
|
+ bool props)
|
|
{
|
|
node_addr ret;
|
|
|
|
bt_write_relock(bt, n, props);
|
|
|
|
- testlock(TRUE, FALSE, n);
|
|
+ testlock(true, false, n);
|
|
|
|
ret.p = n;
|
|
return ret;
|
|
@@ -491,7 +484,7 @@
|
|
|
|
static INLINE node_addr bt_write_unlock(btree *bt, nodeptr n)
|
|
{
|
|
- return bt_write_unlock_internal(bt, n, TRUE);
|
|
+ return bt_write_unlock_internal(bt, n, true);
|
|
}
|
|
|
|
static INLINE void bt_read_unlock(btree *bt, nodeptr n)
|
|
@@ -500,7 +493,7 @@
|
|
* For trees in memory, we do nothing here, except run some
|
|
* optional testing.
|
|
*/
|
|
- testlock(FALSE, FALSE, n);
|
|
+ testlock(false, false, n);
|
|
}
|
|
|
|
/* ----------------------------------------------------------------------
|
|
@@ -594,14 +587,14 @@
|
|
* searching for that element.
|
|
*
|
|
* Return value is either the index of the element, or the index of
|
|
- * the subtree (both 0 upwards). `is_elt' returns FALSE or TRUE
|
|
+ * the subtree (both 0 upwards). `is_elt' returns false or true
|
|
* respectively.
|
|
*
|
|
* Since this may be used by bt_find() with an alternative cmpfn_t,
|
|
* we always pass the input element as the first argument to cmp.
|
|
*/
|
|
static int bt_lookup_cmp(btree *bt, nodeptr n, bt_element_t element,
|
|
- cmpfn_t cmp, int *is_elt)
|
|
+ cmpfn_t cmp, bool *is_elt)
|
|
{
|
|
int mintree = 0, maxtree = bt_subtrees(bt, n)-1;
|
|
|
|
@@ -610,7 +603,7 @@
|
|
int c = cmp(bt->userstate, element, bt_element(bt, n, elt));
|
|
|
|
if (c == 0) {
|
|
- *is_elt = TRUE;
|
|
+ *is_elt = true;
|
|
return elt;
|
|
} else if (c < 0) {
|
|
/*
|
|
@@ -634,7 +627,7 @@
|
|
* to search next.
|
|
*/
|
|
assert(mintree == maxtree);
|
|
- *is_elt = FALSE;
|
|
+ *is_elt = false;
|
|
return mintree;
|
|
}
|
|
|
|
@@ -986,7 +979,8 @@
|
|
int relation, int *index)
|
|
{
|
|
nodeptr n, n2;
|
|
- int child, is_elt;
|
|
+ int child;
|
|
+ bool is_elt;
|
|
bt_element_t gotit;
|
|
int pos = 0;
|
|
|
|
@@ -1083,7 +1077,8 @@
|
|
int *index)
|
|
{
|
|
nodeptr n, n2;
|
|
- int i, j, count, is_elt;
|
|
+ int i, j, count;
|
|
+ bool is_elt;
|
|
void **props;
|
|
int *counts;
|
|
bt_element_t *elts;
|
|
@@ -1294,7 +1289,8 @@
|
|
bt_element_t bt_add(btree *bt, bt_element_t element)
|
|
{
|
|
nodeptr n, n2;
|
|
- int child, is_elt;
|
|
+ int child;
|
|
+ bool is_elt;
|
|
int pos = 0;
|
|
|
|
n = bt_read_lock_root(bt);
|
|
@@ -1322,7 +1318,8 @@
|
|
{
|
|
nodeptr n, c, c2, saved_n;
|
|
nodeptr *nodes;
|
|
- int nnodes, child, nroot, pos2, ends, st, splitpoint, saved_pos;
|
|
+ int nnodes, child, pos2, ends, st, splitpoint, saved_pos;
|
|
+ bool nroot;
|
|
bt_element_t e, ret;
|
|
|
|
/*
|
|
@@ -1334,7 +1331,7 @@
|
|
nnodes = 0;
|
|
|
|
n = bt_write_lock_root(bt);
|
|
- nroot = TRUE;
|
|
+ nroot = true;
|
|
saved_n = NULL;
|
|
|
|
if (!n || pos < 0 || pos >= bt_node_count(bt, n)) {
|
|
@@ -1405,7 +1402,7 @@
|
|
bt_shift_root(bt, n, bt_node_addr(bt, c));
|
|
nnodes--; /* don't leave it in nodes[]! */
|
|
n = NULL;
|
|
- bt_write_relock(bt, c, TRUE);
|
|
+ bt_write_relock(bt, c, true);
|
|
} else
|
|
bt_write_unlock(bt, c);
|
|
} else {
|
|
@@ -1422,7 +1419,7 @@
|
|
|
|
if (n) {
|
|
/* Recompute the counts in n so we can do lookups again. */
|
|
- bt_write_relock(bt, n, TRUE);
|
|
+ bt_write_relock(bt, n, true);
|
|
|
|
/* Having done the transform, redo the position lookup. */
|
|
pos = pos2;
|
|
@@ -1485,7 +1482,7 @@
|
|
|
|
/* Descend to the child and go round again. */
|
|
n = c;
|
|
- nroot = FALSE;
|
|
+ nroot = false;
|
|
}
|
|
|
|
/*
|
|
@@ -1725,7 +1722,7 @@
|
|
* Perform the healing process after a tree has been split. `rhs'
|
|
* is set if the cut edge is the one on the right.
|
|
*/
|
|
-static void bt_split_heal(btree *bt, int rhs)
|
|
+static void bt_split_heal(btree *bt, bool rhs)
|
|
{
|
|
nodeptr n;
|
|
nodeptr *nodes;
|
|
@@ -1881,15 +1878,15 @@
|
|
* which will sort all that out for us.
|
|
*/
|
|
while (nnodes-- > 0) {
|
|
- bt_write_unlock_internal(bt1, lnodes[nnodes], FALSE);
|
|
- bt_write_unlock_internal(bt2, rnodes[nnodes], FALSE);
|
|
+ bt_write_unlock_internal(bt1, lnodes[nnodes], false);
|
|
+ bt_write_unlock_internal(bt2, rnodes[nnodes], false);
|
|
}
|
|
|
|
/*
|
|
* Then we make a healing pass down each side of the tree.
|
|
*/
|
|
- bt_split_heal(bt1, TRUE);
|
|
- bt_split_heal(bt2, FALSE);
|
|
+ bt_split_heal(bt1, true);
|
|
+ bt_split_heal(bt2, false);
|
|
|
|
ifree(lnodes);
|
|
ifree(rnodes);
|
|
@@ -1900,7 +1897,7 @@
|
|
/*
|
|
* Split a tree at a numeric index.
|
|
*/
|
|
-btree *bt_splitpos(btree *bt, int index, int before)
|
|
+btree *bt_splitpos(btree *bt, int index, bool before)
|
|
{
|
|
btree *ret;
|
|
node_addr na;
|
|
@@ -1932,15 +1929,16 @@
|
|
*/
|
|
btree *bt_split(btree *bt, bt_element_t element, cmpfn_t cmp, int rel)
|
|
{
|
|
- int before, index;
|
|
+ bool before;
|
|
+ int index;
|
|
|
|
assert(rel != BT_REL_EQ); /* has to be an inequality */
|
|
|
|
if (rel == BT_REL_GT || rel == BT_REL_GE) {
|
|
- before = TRUE;
|
|
+ before = true;
|
|
rel = (rel == BT_REL_GT ? BT_REL_LE : BT_REL_LT);
|
|
} else {
|
|
- before = FALSE;
|
|
+ before = false;
|
|
}
|
|
if (!bt_findrelpos(bt, element, cmp, rel, &index))
|
|
index = -1;
|
|
@@ -1979,7 +1977,7 @@
|
|
n = bt_read_lock_root(bt);
|
|
i = bt_subtrees(bt, n);
|
|
bt_read_unlock(bt, n);
|
|
- return (i == 2 ? TRUE : FALSE);
|
|
+ return (i == 2 ? true : false);
|
|
}
|
|
|
|
/*
|
|
@@ -2394,7 +2392,7 @@
|
|
printf("splittest: %d\n", i);
|
|
tree3 = BT_COPY(tree);
|
|
testlock(-1, 0, NULL);
|
|
- tree4 = bt_splitpos(tree3, i, 0);
|
|
+ tree4 = bt_splitpos(tree3, i, false);
|
|
testlock(-1, 0, NULL);
|
|
verifytree(tree3, array, i);
|
|
verifytree(tree4, array+i, arraylen-i);
|
|
diff -Naur tweak-3.02/btree.h tweak-3.02.patched/btree.h
|
|
--- tweak-3.02/btree.h 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/btree.h 2021-09-07 14:21:21.903810301 -0400
|
|
@@ -31,6 +31,7 @@
|
|
#define BTREE_H
|
|
|
|
#include <stddef.h> /* for offsetof */
|
|
+#include <stdbool.h>
|
|
|
|
#ifndef alignof
|
|
#define alignof(typ) ( offsetof(struct { char c; typ t; }, t) )
|
|
@@ -47,7 +48,7 @@
|
|
typedef void (*propmergefn_t)(void *state, void *s1, void *s2, void *dest);
|
|
typedef int (*searchfn_t)(void *tstate, void *sstate, int ntrees,
|
|
void **props, int *counts,
|
|
- bt_element_t *elts, int *is_elt);
|
|
+ bt_element_t *elts, bool *is_elt);
|
|
|
|
enum {
|
|
BT_REL_EQ, BT_REL_LT, BT_REL_LE, BT_REL_GT, BT_REL_GE
|
|
@@ -77,7 +78,7 @@
|
|
bt_element_t bt_del(btree *bt, bt_element_t element);
|
|
btree *bt_join(btree *bt1, btree *bt2);
|
|
btree *bt_joinr(btree *bt1, btree *bt2);
|
|
-btree *bt_splitpos(btree *bt, int index, int before);
|
|
+btree *bt_splitpos(btree *bt, int index, bool before);
|
|
btree *bt_split(btree *bt, bt_element_t element, cmpfn_t cmp, int rel);
|
|
|
|
#endif /* BTREE_H */
|
|
diff -Naur tweak-3.02/buffer.c tweak-3.02.patched/buffer.c
|
|
--- tweak-3.02/buffer.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/buffer.c 2021-09-07 14:21:21.917810299 -0400
|
|
@@ -3,6 +3,7 @@
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
+#include <errno.h>
|
|
#include <ctype.h>
|
|
#include <assert.h>
|
|
|
|
@@ -112,7 +113,7 @@
|
|
|
|
static int bufblksearch(void *tstate, void *sstate, int ntrees,
|
|
void **props, int *counts,
|
|
- bt_element_t *elts, int *is_elt)
|
|
+ bt_element_t *elts, bool *is_elt)
|
|
{
|
|
fileoffset_t *disttogo = (fileoffset_t *)sstate;
|
|
fileoffset_t distsofar = 0;
|
|
@@ -128,7 +129,7 @@
|
|
/*
|
|
* Descend into this subtree.
|
|
*/
|
|
- *is_elt = FALSE;
|
|
+ *is_elt = false;
|
|
return i;
|
|
}
|
|
|
|
@@ -142,7 +143,7 @@
|
|
* Select this element.
|
|
*/
|
|
*disttogo -= distsofar;
|
|
- *is_elt = TRUE;
|
|
+ *is_elt = true;
|
|
return i;
|
|
}
|
|
|
|
@@ -164,6 +165,16 @@
|
|
return index;
|
|
}
|
|
|
|
+static void fread_check(void *buf, size_t size, FILE *fp)
|
|
+{
|
|
+ if (fread(buf, 1, size, fp) != size) {
|
|
+ display_cleanup();
|
|
+ fprintf(stderr, "Fatal error reading from file: %s\n",
|
|
+ strerror(errno));
|
|
+ exit(1);
|
|
+ }
|
|
+}
|
|
+
|
|
/*
|
|
* Convert a file-data block of size at most BUFMAX into a
|
|
* literal-data block. Returns the replacement block (the old one
|
|
@@ -179,7 +190,7 @@
|
|
ret->filepos = 0;
|
|
ret->len = blk->len;
|
|
fseeko(blk->file->fp, blk->filepos, SEEK_SET);
|
|
- fread(ret->data, blk->len, 1, blk->file->fp);
|
|
+ fread_check(ret->data, blk->len, blk->file->fp);
|
|
|
|
return ret;
|
|
}
|
|
@@ -298,7 +309,7 @@
|
|
return index + 1;
|
|
}
|
|
|
|
-static btree *buf_bt_split(btree *bt, fileoffset_t pos, int before)
|
|
+static btree *buf_bt_split(btree *bt, fileoffset_t pos, bool before)
|
|
{
|
|
int index = buf_bt_splitpoint(bt, pos);
|
|
return bt_splitpos(bt, index, before);
|
|
@@ -318,14 +329,14 @@
|
|
|
|
static void buf_insert_bt(buffer *buf, btree *bt, fileoffset_t pos)
|
|
{
|
|
- btree *right = buf_bt_split(buf->bt, pos, FALSE);
|
|
+ btree *right = buf_bt_split(buf->bt, pos, false);
|
|
buf->bt = buf_bt_join(buf->bt, bt);
|
|
buf->bt = buf_bt_join(buf->bt, right);
|
|
}
|
|
|
|
static int bufblklensearch(void *tstate, void *sstate, int ntrees,
|
|
void **props, int *counts,
|
|
- bt_element_t *elts, int *is_elt)
|
|
+ bt_element_t *elts, bool *is_elt)
|
|
{
|
|
fileoffset_t *output = (fileoffset_t *)sstate;
|
|
fileoffset_t size = 0;
|
|
@@ -347,7 +358,7 @@
|
|
*output = size;
|
|
|
|
/* Actual return value doesn't matter */
|
|
- *is_elt = TRUE;
|
|
+ *is_elt = true;
|
|
return 1;
|
|
}
|
|
|
|
@@ -417,7 +428,7 @@
|
|
|
|
if (blk->file) {
|
|
fseeko(blk->file->fp, blk->filepos + poswithin, SEEK_SET);
|
|
- fread(data, thislen, 1, blk->file->fp);
|
|
+ fread_check(data, thislen, blk->file->fp);
|
|
} else {
|
|
memcpy(data, blk->data + poswithin, thislen);
|
|
}
|
|
@@ -473,8 +484,8 @@
|
|
|
|
extern void buf_delete(buffer *buf, fileoffset_t len, fileoffset_t pos)
|
|
{
|
|
- btree *left = buf_bt_split(buf->bt, pos, TRUE);
|
|
- btree *right = buf_bt_split(buf->bt, len, FALSE);
|
|
+ btree *left = buf_bt_split(buf->bt, pos, true);
|
|
+ btree *right = buf_bt_split(buf->bt, len, false);
|
|
|
|
bt_free(buf->bt);
|
|
|
|
@@ -490,8 +501,8 @@
|
|
|
|
extern buffer *buf_cut(buffer *buf, fileoffset_t len, fileoffset_t pos)
|
|
{
|
|
- btree *left = buf_bt_split(buf->bt, pos, TRUE);
|
|
- btree *right = buf_bt_split(buf->bt, len, FALSE);
|
|
+ btree *left = buf_bt_split(buf->bt, pos, true);
|
|
+ btree *right = buf_bt_split(buf->bt, len, false);
|
|
btree *ret = buf->bt;
|
|
|
|
buf->bt = buf_bt_join(left, right);
|
|
@@ -501,8 +512,8 @@
|
|
|
|
extern buffer *buf_copy(buffer *buf, fileoffset_t len, fileoffset_t pos)
|
|
{
|
|
- btree *left = buf_bt_split(buf->bt, pos, TRUE);
|
|
- btree *right = buf_bt_split(buf->bt, len, FALSE);
|
|
+ btree *left = buf_bt_split(buf->bt, pos, true);
|
|
+ btree *right = buf_bt_split(buf->bt, len, false);
|
|
btree *ret = bt_clone(buf->bt);
|
|
|
|
buf->bt = buf_bt_join(left, buf->bt);
|
|
diff -Naur tweak-3.02/curses.c tweak-3.02.patched/curses.c
|
|
--- tweak-3.02/curses.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/curses.c 2021-09-07 14:21:21.918810299 -0400
|
|
@@ -61,7 +61,7 @@
|
|
#define MAXCOLOURS 32
|
|
int attrs[MAXCOLOURS];
|
|
|
|
-void display_define_colour(int colour, int fg, int bg, int reverse)
|
|
+void display_define_colour(int colour, int fg, int bg, bool reverse)
|
|
{
|
|
static int colours[8] = {
|
|
COLOR_BLACK,
|
|
@@ -117,24 +117,28 @@
|
|
schedule_update();
|
|
continue;
|
|
}
|
|
+ if (ret == ERR) {
|
|
+ /* A failure to read from standard input is fatal */
|
|
+ exit(1);
|
|
+ }
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
-int display_input_to_flush(void)
|
|
+bool display_input_to_flush(void)
|
|
{
|
|
int ret;
|
|
if (last_getch != ERR)
|
|
- return TRUE;
|
|
+ return true;
|
|
|
|
nodelay(stdscr, 1);
|
|
ret = getch();
|
|
nodelay(stdscr, 0);
|
|
if (ret == ERR)
|
|
- return FALSE;
|
|
+ return false;
|
|
|
|
last_getch = ret;
|
|
- return TRUE;
|
|
+ return true;
|
|
}
|
|
|
|
void display_post_error(void)
|
|
diff -Naur tweak-3.02/keytab.c tweak-3.02.patched/keytab.c
|
|
--- tweak-3.02/keytab.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/keytab.c 2021-09-07 14:21:21.920810299 -0400
|
|
@@ -61,16 +61,33 @@
|
|
/*
|
|
* Format an ASCII code into a printable description of the key stroke.
|
|
*/
|
|
-static void strkey (char *s, int k) {
|
|
- k &= 255; /* force unsigned */
|
|
- if (k==27)
|
|
- strcpy(s, " ESC");
|
|
- else if (k<32 || k==127)
|
|
- sprintf(s, " ^%c", k ^ 64);
|
|
- else if (k<127)
|
|
- sprintf(s, " %c", k);
|
|
- else
|
|
- sprintf(s, " <0x%2X>", k);
|
|
+struct strkey_state {
|
|
+ char *s, *end;
|
|
+ bool truncated;
|
|
+};
|
|
+static void strkey (struct strkey_state *sks, int k) {
|
|
+ char thisbuf[32];
|
|
+
|
|
+ if (sks->truncated)
|
|
+ return;
|
|
+
|
|
+ if (sks->end - sks->s < 16) {
|
|
+ sks->truncated = true;
|
|
+ strcpy(thisbuf, " ...");
|
|
+ } else {
|
|
+ k &= 255; /* force unsigned */
|
|
+ if (k==27)
|
|
+ strcpy(thisbuf, " ESC");
|
|
+ else if (k<32 || k==127)
|
|
+ sprintf(thisbuf, " ^%c", k ^ 64);
|
|
+ else if (k<127)
|
|
+ sprintf(thisbuf, " %c", k);
|
|
+ else
|
|
+ sprintf(thisbuf, " <0x%2X>", k);
|
|
+ }
|
|
+
|
|
+ strcpy(sks->s, thisbuf);
|
|
+ sks->s += strlen(sks->s);
|
|
}
|
|
|
|
/*
|
|
@@ -82,19 +99,25 @@
|
|
#if defined(unix) && !defined(GO32)
|
|
if (update_required)
|
|
update();
|
|
- safe_update = TRUE;
|
|
+ safe_update = true;
|
|
#endif
|
|
last_char = display_getkey();
|
|
#if defined(unix) && !defined(GO32)
|
|
- safe_update = FALSE;
|
|
+ safe_update = false;
|
|
#endif
|
|
strcpy(message, "Unknown key sequence");
|
|
- strkey(message+strlen(message), last_char);
|
|
+
|
|
+ struct strkey_state sks;
|
|
+ sks.s = message + strlen(message);
|
|
+ sks.end = message + sizeof(message);
|
|
+ sks.truncated = false;
|
|
+
|
|
+ strkey(&sks, last_char);
|
|
kt = base[(unsigned char) last_char];
|
|
if (!kt) {
|
|
display_beep();
|
|
while (display_input_to_flush())
|
|
- strkey(message+strlen(message), display_getkey());
|
|
+ strkey(&sks, display_getkey());
|
|
return;
|
|
}
|
|
|
|
@@ -102,18 +125,18 @@
|
|
#if defined(unix) && !defined(GO32)
|
|
if (update_required)
|
|
update();
|
|
- safe_update = TRUE;
|
|
+ safe_update = true;
|
|
#endif
|
|
last_char = display_getkey();
|
|
#if defined(unix) && !defined(GO32)
|
|
- safe_update = FALSE;
|
|
+ safe_update = false;
|
|
#endif
|
|
- strkey(message+strlen(message), last_char);
|
|
+ strkey(&sks, last_char);
|
|
kt = kt->e.extended[(unsigned char) last_char];
|
|
if (!kt) {
|
|
display_beep();
|
|
while (display_input_to_flush())
|
|
- strkey(message+strlen(message), display_getkey());
|
|
+ strkey(&sks, display_getkey());
|
|
return;
|
|
}
|
|
}
|
|
diff -Naur tweak-3.02/main.c tweak-3.02.patched/main.c
|
|
--- tweak-3.02/main.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/main.c 2021-09-07 14:21:21.903810301 -0400
|
|
@@ -200,20 +200,20 @@
|
|
char *pname;
|
|
char *filename = NULL;
|
|
buffer *filedata, *cutbuffer = NULL;
|
|
-int fix_mode = FALSE;
|
|
-int look_mode = FALSE;
|
|
-int eager_mode = FALSE;
|
|
-int insert_mode = FALSE;
|
|
+bool fix_mode = false;
|
|
+bool look_mode = false;
|
|
+bool eager_mode = false;
|
|
+bool insert_mode = false;
|
|
int edit_type = 1; /* 1,2 are hex digits, 0=ascii */
|
|
-int finished = FALSE;
|
|
-int marking = FALSE;
|
|
-int modified = FALSE;
|
|
-int new_file = FALSE; /* shouldn't need initialisation -
|
|
+bool finished = false;
|
|
+bool marking = false;
|
|
+bool modified = false;
|
|
+bool new_file = false; /* shouldn't need initialisation -
|
|
* but let's not take chances :-) */
|
|
fileoffset_t width = 16;
|
|
fileoffset_t realoffset = 0, offset = 16;
|
|
|
|
-int ascii_enabled = TRUE;
|
|
+bool ascii_enabled = true;
|
|
|
|
fileoffset_t file_size = 0, top_pos = 0, cur_pos = 0, mark_point = 0;
|
|
|
|
@@ -284,13 +284,13 @@
|
|
}
|
|
break;
|
|
case 'f': case 'F':
|
|
- fix_mode = TRUE;
|
|
+ fix_mode = true;
|
|
break;
|
|
case 'l': case 'L':
|
|
- look_mode = TRUE;
|
|
+ look_mode = true;
|
|
break;
|
|
case 'e': case 'E':
|
|
- eager_mode = TRUE;
|
|
+ eager_mode = true;
|
|
break;
|
|
case 'D':
|
|
write_default_rc();
|
|
@@ -339,11 +339,11 @@
|
|
"Width reduced to %"OFF"d to fit on the screen", width);
|
|
}
|
|
if (4*width+14 > display_cols) {
|
|
- ascii_enabled = FALSE;
|
|
+ ascii_enabled = false;
|
|
if (edit_type == 0)
|
|
edit_type = 1; /* force to hex mode */
|
|
} else
|
|
- ascii_enabled = TRUE;
|
|
+ ascii_enabled = true;
|
|
offset = realoffset % width;
|
|
if (!offset)
|
|
offset = width;
|
|
@@ -358,11 +358,11 @@
|
|
|
|
display_setup();
|
|
|
|
- display_define_colour(COL_BUFFER, -1, -1, FALSE);
|
|
- display_define_colour(COL_SELECT, 0, 7, TRUE);
|
|
- display_define_colour(COL_STATUS, 11, 4, TRUE);
|
|
- display_define_colour(COL_ESCAPE, 9, 0, FALSE);
|
|
- display_define_colour(COL_INVALID, 11, 0, FALSE);
|
|
+ display_define_colour(COL_BUFFER, -1, -1, false);
|
|
+ display_define_colour(COL_SELECT, 0, 7, true);
|
|
+ display_define_colour(COL_STATUS, 11, 4, true);
|
|
+ display_define_colour(COL_ESCAPE, 9, 0, false);
|
|
+ display_define_colour(COL_INVALID, 11, 0, false);
|
|
|
|
for (i=0; i<256; i++) {
|
|
sprintf(hex[i], "%02X", i);
|
|
@@ -412,7 +412,7 @@
|
|
"opened %s (size %"OFF"d == 0x%"OFF"X).",
|
|
fname, file_size, file_size);
|
|
}
|
|
- new_file = FALSE;
|
|
+ new_file = false;
|
|
} else {
|
|
if (look_mode || fix_mode) {
|
|
fprintf(stderr, "%s: file %s not found, and %s mode active\n",
|
|
@@ -421,19 +421,19 @@
|
|
}
|
|
filedata = buf_new_empty();
|
|
snprintf(message, sizeof(message), "New file %s.", fname);
|
|
- new_file = TRUE;
|
|
+ new_file = true;
|
|
}
|
|
}
|
|
|
|
/*
|
|
- * Save the file. Return TRUE on success, FALSE on error.
|
|
+ * Save the file. Return true on success, false on error.
|
|
*/
|
|
-int save_file (void) {
|
|
+bool save_file (void) {
|
|
FILE *fp;
|
|
fileoffset_t pos = 0;
|
|
|
|
if (look_mode)
|
|
- return FALSE; /* do nothing! */
|
|
+ return false; /* do nothing! */
|
|
|
|
if ( (fp = fopen (filename, "wb")) ) {
|
|
static char buffer[SAVE_BLKSIZ];
|
|
@@ -446,25 +446,25 @@
|
|
buf_fetch_data (filedata, buffer, size, pos);
|
|
if (size != fwrite (buffer, 1, size, fp)) {
|
|
fclose (fp);
|
|
- return FALSE;
|
|
+ return false;
|
|
}
|
|
pos += size;
|
|
}
|
|
} else
|
|
- return FALSE;
|
|
+ return false;
|
|
fclose (fp);
|
|
- return TRUE;
|
|
+ return true;
|
|
}
|
|
|
|
/*
|
|
* Make a backup of the file, if such has not already been done.
|
|
- * Return TRUE on success, FALSE on error.
|
|
+ * Return true on success, false on error.
|
|
*/
|
|
-int backup_file (void) {
|
|
+bool backup_file (void) {
|
|
char backup_name[FILENAME_MAX];
|
|
|
|
if (new_file)
|
|
- return TRUE; /* unnecessary - pretend it's done */
|
|
+ return true; /* unnecessary - pretend it's done */
|
|
strcpy (backup_name, filename);
|
|
#if defined(unix) && !defined(GO32)
|
|
strcat (backup_name, ".bak");
|
|
@@ -498,7 +498,7 @@
|
|
int scrsize, scroff, llen, i, j;
|
|
fileoffset_t currpos;
|
|
fileoffset_t marktop, markbot;
|
|
- int mark;
|
|
+ bool mark;
|
|
char *p;
|
|
unsigned char c, *q;
|
|
char *linebuf;
|
|
@@ -657,15 +657,15 @@
|
|
display_refresh ();
|
|
}
|
|
|
|
-volatile int safe_update, update_required;
|
|
+volatile bool safe_update, update_required;
|
|
void update (void);
|
|
|
|
/*
|
|
- * Get a string, in the "minibuffer". Return TRUE on success, FALSE
|
|
+ * Get a string, in the "minibuffer". Return true on success, false
|
|
* on break. Possibly syntax-highlight the entered string for
|
|
* backslash-escapes, depending on the "highlight" parameter.
|
|
*/
|
|
-int get_str (char *prompt, char *buf, int highlight) {
|
|
+bool get_str (char *prompt, char *buf, bool highlight) {
|
|
int maxlen = 79 - strlen(prompt); /* limit to 80 - who cares? :) */
|
|
int len = 0;
|
|
int c;
|
|
@@ -702,17 +702,17 @@
|
|
display_refresh();
|
|
if (update_required)
|
|
update();
|
|
- safe_update = TRUE;
|
|
+ safe_update = true;
|
|
c = display_getkey();
|
|
- safe_update = FALSE;
|
|
+ safe_update = false;
|
|
if (c == 13 || c == 10) {
|
|
buf[len] = '\0';
|
|
- return TRUE;
|
|
+ return true;
|
|
} else if (c == 27 || c == 7) {
|
|
display_beep();
|
|
display_post_error();
|
|
snprintf(message, sizeof(message), "User Break!");
|
|
- return FALSE;
|
|
+ return false;
|
|
}
|
|
|
|
if (c >= 32 && c <= 126) {
|
|
@@ -794,12 +794,12 @@
|
|
if (safe_update)
|
|
update();
|
|
else
|
|
- update_required = TRUE;
|
|
+ update_required = true;
|
|
}
|
|
|
|
-fileoffset_t parse_num (char *buffer, int *error) {
|
|
+fileoffset_t parse_num (char *buffer, bool *error) {
|
|
if (error)
|
|
- *error = FALSE;
|
|
+ *error = false;
|
|
if (!buffer[strspn(buffer, "0123456789")]) {
|
|
/* interpret as decimal */
|
|
return ATOOFF(buffer);
|
|
@@ -812,6 +812,6 @@
|
|
} else {
|
|
return 0;
|
|
if (error)
|
|
- *error = TRUE;
|
|
+ *error = true;
|
|
}
|
|
}
|
|
diff -Naur tweak-3.02/rcfile.c tweak-3.02.patched/rcfile.c
|
|
--- tweak-3.02/rcfile.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/rcfile.c 2021-09-07 14:21:21.903810301 -0400
|
|
@@ -146,7 +146,7 @@
|
|
char rcbuffer[256];
|
|
char rcname[FILENAME_MAX];
|
|
int lineno = 0;
|
|
- int errors = FALSE, errors_here;
|
|
+ bool errors = false, errors_here;
|
|
|
|
#if defined(unix) && !defined(GO32)
|
|
rcname[0] = '\0';
|
|
@@ -200,7 +200,7 @@
|
|
strcpy (rcbuffer, *p++);
|
|
}
|
|
lineno++;
|
|
- errors_here = FALSE;
|
|
+ errors_here = false;
|
|
|
|
/*
|
|
* Now we have a line from the .rc file, wherever it's
|
|
@@ -242,7 +242,7 @@
|
|
else {
|
|
fprintf(stderr, "%s: no key sequence after \"bind\" command"
|
|
" on line %d of "RCNAME, pname, lineno);
|
|
- errors = TRUE;
|
|
+ errors = true;
|
|
continue;
|
|
}
|
|
|
|
@@ -255,8 +255,8 @@
|
|
if (!*++q) {
|
|
fprintf(stderr, "%s: nothing follows `^' on line %d"
|
|
" of "RCNAME, pname, lineno);
|
|
- errors = TRUE;
|
|
- errors_here = TRUE;
|
|
+ errors = true;
|
|
+ errors_here = true;
|
|
} else {
|
|
*s++ = *q++ ^ 0x40;
|
|
}
|
|
@@ -264,8 +264,8 @@
|
|
if (!*++q) {
|
|
fprintf(stderr, "%s: nothing follows `\\' on line %d"
|
|
" of "RCNAME, pname, lineno);
|
|
- errors = TRUE;
|
|
- errors_here = TRUE;
|
|
+ errors = true;
|
|
+ errors_here = true;
|
|
} else if (*q == '\\' || *q == '^') {
|
|
*s++ = *q++;
|
|
} else if (isxdigit((unsigned char)*q) &&
|
|
@@ -278,8 +278,8 @@
|
|
} else {
|
|
fprintf(stderr, "%s: badly formed `\\' sequence on"
|
|
" line %d of "RCNAME, pname, lineno);
|
|
- errors = TRUE;
|
|
- errors_here = TRUE;
|
|
+ errors = true;
|
|
+ errors_here = true;
|
|
}
|
|
} else
|
|
*s++ = *q++;
|
|
@@ -307,7 +307,7 @@
|
|
fprintf(stderr, "%s: unrecognised key action \"%s\""
|
|
" at line %d of "RCNAME"\n",
|
|
pname, r, lineno);
|
|
- errors = TRUE;
|
|
+ errors = true;
|
|
}
|
|
} else if (!strcmp(q, "width")) {
|
|
width = atoi(r);
|
|
@@ -317,7 +317,7 @@
|
|
fprintf(stderr, "%s: unrecognised "RCNAME" directive \"%s\""
|
|
" at line %d of "RCNAME"\n",
|
|
pname, q, lineno);
|
|
- errors = TRUE;
|
|
+ errors = true;
|
|
}
|
|
}
|
|
if (errors)
|
|
diff -Naur tweak-3.02/slang.c tweak-3.02.patched/slang.c
|
|
--- tweak-3.02/slang.c 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/slang.c 2021-09-07 14:21:21.918810299 -0400
|
|
@@ -69,7 +69,7 @@
|
|
exit (1);
|
|
}
|
|
SLang_set_abort_signal (NULL);
|
|
- SLtt_Use_Ansi_Colors = TRUE;
|
|
+ SLtt_Use_Ansi_Colors = true;
|
|
|
|
get_screen_size ();
|
|
if (SLsmg_init_smg () < 0) {
|
|
@@ -109,7 +109,7 @@
|
|
SLsmg_write_nchars(str, len);
|
|
}
|
|
|
|
-void display_define_colour(int colour, int fg, int bg, int reverse)
|
|
+void display_define_colour(int colour, int fg, int bg, bool reverse)
|
|
{
|
|
static char *colours[16] = {
|
|
"black", "red", "green", "brown",
|
|
@@ -142,10 +142,15 @@
|
|
|
|
int display_getkey(void)
|
|
{
|
|
- return SLang_getkey();
|
|
+ int key = SLang_getkey();
|
|
+ if (key == SLANG_GETKEY_ERROR) {
|
|
+ /* A failure to read from standard input is fatal */
|
|
+ exit(1);
|
|
+ }
|
|
+ return key;
|
|
}
|
|
|
|
-int display_input_to_flush(void)
|
|
+bool display_input_to_flush(void)
|
|
{
|
|
return SLang_input_pending(0);
|
|
}
|
|
@@ -153,7 +158,7 @@
|
|
void display_post_error(void)
|
|
{
|
|
SLKeyBoard_Quit = 0;
|
|
- SLang_Error = 0;
|
|
+ SLang_set_error (0);
|
|
}
|
|
|
|
void display_recheck_size(void)
|
|
diff -Naur tweak-3.02/tweak.h tweak-3.02.patched/tweak.h
|
|
--- tweak-3.02/tweak.h 2016-03-22 17:12:51.000000000 -0400
|
|
+++ tweak-3.02.patched/tweak.h 2021-09-07 14:21:21.903810301 -0400
|
|
@@ -16,12 +16,7 @@
|
|
|
|
#endif
|
|
|
|
-#ifndef FALSE
|
|
-#define FALSE 0
|
|
-#endif
|
|
-#ifndef TRUE
|
|
-#define TRUE 1
|
|
-#endif
|
|
+#include <stdbool.h>
|
|
|
|
#define EVER ;;
|
|
|
|
@@ -80,23 +75,25 @@
|
|
extern char decstatus[], hexstatus[], *statfmt;
|
|
extern char last_char, *pname, *filename;
|
|
extern buffer *filedata, *cutbuffer;
|
|
-extern int fix_mode, look_mode, insert_mode, edit_type, finished, marking;
|
|
+extern bool fix_mode, look_mode, insert_mode, finished, marking;
|
|
+extern int edit_type;
|
|
extern fileoffset_t file_size, top_pos, cur_pos, mark_point;
|
|
-extern int scrlines, modified, new_file;
|
|
+extern int scrlines;
|
|
+extern bool modified, new_file;
|
|
extern fileoffset_t width, offset, realoffset;
|
|
-extern int ascii_enabled;
|
|
+extern bool ascii_enabled;
|
|
|
|
#ifdef unix
|
|
-extern volatile int safe_update, update_required;
|
|
+extern volatile bool safe_update, update_required;
|
|
extern void update (void);
|
|
#endif
|
|
|
|
extern void fix_offset(void);
|
|
-extern fileoffset_t parse_num (char *buffer, int *error);
|
|
+extern fileoffset_t parse_num (char *buffer, bool *error);
|
|
|
|
extern void draw_scr (void);
|
|
-extern int backup_file (void);
|
|
-extern int save_file (void);
|
|
+extern bool backup_file (void);
|
|
+extern bool save_file (void);
|
|
|
|
extern void act_self_ins (void);
|
|
extern keyact parse_action (char *);
|
|
@@ -107,7 +104,7 @@
|
|
extern Search *build_search (char *, int);
|
|
void free_search(Search *s);
|
|
|
|
-extern int get_str (char *, char *, int);
|
|
+extern bool get_str (char *, char *, bool);
|
|
extern int parse_quoted (char *);
|
|
extern void suspend (void);
|
|
|
|
@@ -137,11 +134,11 @@
|
|
extern void display_refresh(void);
|
|
extern void display_write_str(char *str);
|
|
extern void display_write_chars(char *str, int len);
|
|
-extern void display_define_colour(int colour, int fg, int bg, int reverse);
|
|
+extern void display_define_colour(int colour, int fg, int bg, bool reverse);
|
|
extern void display_set_colour(int colour);
|
|
extern void display_clear_to_eol(void);
|
|
extern int display_getkey(void);
|
|
-extern int display_input_to_flush(void);
|
|
+extern bool display_input_to_flush(void);
|
|
extern void display_post_error(void);
|
|
extern void display_recheck_size(void);
|
|
|