Hi,
here is a patch that replaces long with int.
It saves some memory on 64bit systems.
Regards,
Johannes
diff --git a/st.c b/st.c
index fda7044..51ecd21 100644
--- a/st.c
+++ b/st.c
@@ -179,9 +179,9 @@ typedef unsigned short ushort;
typedef struct {
char c[UTF_SIZ]; /* character code */
- ushort mode; /* attribute flags */
- ulong fg; /* foreground */
- ulong bg; /* background */
+ ushort mode; /* attribute flags */
+ uint fg; /* foreground */
+ uint bg; /* background */
} Glyph;
typedef Glyph *Line;
@@ -379,7 +379,7 @@ static void tsetdirtattr(int);
static void tsetmode(bool, bool, int *, int);
static void tfulldirt(void);
static void techo(char *, int);
-static long tdefcolor(int *, int *, int);
+static int tdefcolor(int *, int *, int);
static void tselcs(void);
static void tdeftran(char);
static inline bool match(uint, uint);
@@ -1666,9 +1666,9 @@ tdeleteline(int n) {
tscrollup(term.c.y, n);
}
-long
+int
tdefcolor(int *attr, int *npar, int l) {
- long idx = -1;
+ int idx = -1;
uint r, g, b;
switch (attr[*npar + 1]) {
@@ -1717,7 +1717,7 @@ tdefcolor(int *attr, int *npar, int l) {
void
tsetattr(int *attr, int l) {
int i;
- long idx;
+ int idx;
for(i = 0; i < l; i++) {
switch(attr[i]) {