aboutsummaryrefslogtreecommitdiff
path: root/teco.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2025-04-27 06:57:24 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2025-04-27 06:57:24 +0300
commitfd12f39ce43fe465dac987f078355c77d1dbbb07 (patch)
treeb7f03e24961dd54d252857335374c2b1e4f97dc9 /teco.h
parent05569802996888f857ead155631fd3bd9c680876 (diff)
downloadvideoteco-fork-fd12f39ce43fe465dac987f078355c77d1dbbb07.tar.gz
the magic struct fields are omitted now unless DEBUG1 is defined
* The magic field is now always called __magic. * Saves some memory, which is important especially on MS-DOS.
Diffstat (limited to 'teco.h')
-rw-r--r--teco.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/teco.h b/teco.h
index 746ed63..3399262 100644
--- a/teco.h
+++ b/teco.h
@@ -410,6 +410,11 @@
void do_preamble_checks(void);
void do_return_checks(void);
+#define MAGIC_HEADER() \
+ int __magic
+#define MAGIC_UPDATE(X, VAL) \
+ do (X)->__magic = (VAL); while (0)
+
#define PREAMBLE() \
do_preamble_checks();
@@ -421,6 +426,9 @@ void do_return_checks(void);
do_return_checks(); \
return(val);
#else
+#define MAGIC_HEADER()
+#define MAGIC_UPDATE(X, VAL) \
+ do {} while (0)
#define PREAMBLE()
#define RETURN
#define RETURN_VAL()
@@ -453,7 +461,7 @@ void do_return_checks(void);
}
struct buff_header {
- int buf_magic;
+ MAGIC_HEADER();
unsigned int buf_hash;
char *name;
int buffer_number;
@@ -470,7 +478,7 @@ void do_return_checks(void);
};
struct buff_line {
- int lin_magic;
+ MAGIC_HEADER();
size_t buffer_size;
size_t byte_count;
char *buffer;
@@ -480,7 +488,7 @@ void do_return_checks(void);
};
struct format_line {
- int fmt_magic;
+ MAGIC_HEADER();
struct buff_header *fmt_owning_buffer;
struct buff_line *fmt_buffer_line;
size_t fmt_buffer_size;
@@ -500,7 +508,7 @@ void do_return_checks(void);
};
struct screen_line {
- int scr_magic;
+ MAGIC_HEADER();
short *buffer;
struct format_line *companion;
int sequence;