aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul LeoNerd Evans <leonerd@leonerd.org.uk>2008-10-10 00:50:56 +0100
committerPaul LeoNerd Evans <leonerd@leonerd.org.uk>2008-10-10 00:50:56 +0100
commitfd769d621e95cdcf6f4600448c8431d27233c090 (patch)
treea02753d022968dee94559bcd6a4e1df6bf5eb8de
parent37156ad580a07413383d3ca5d95f19ea1bc1f716 (diff)
downloadtermo-fd769d621e95cdcf6f4600448c8431d27233c090.tar.gz
termo-fd769d621e95cdcf6f4600448c8431d27233c090.tar.xz
termo-fd769d621e95cdcf6f4600448c8431d27233c090.zip
'int' might not be wide enough to hold any Unicode codepoint; use 'long'
-rw-r--r--driver-csi.c6
-rw-r--r--termkey-internal.h2
-rw-r--r--termkey.c10
-rw-r--r--termkey.h2
4 files changed, 10 insertions, 10 deletions
diff --git a/driver-csi.c b/driver-csi.c
index 33e7342..8633157 100644
--- a/driver-csi.c
+++ b/driver-csi.c
@@ -164,7 +164,7 @@ static termkey_result getkey_csi(termkey_t *tk, size_t introlen, termkey_key *ke
}
unsigned char cmd = CHARAT(csi_end);
- int arg[16];
+ long arg[16];
char present = 0;
int args = 0;
@@ -226,7 +226,7 @@ static termkey_result getkey_csi(termkey_t *tk, size_t introlen, termkey_key *ke
key->code.sym = TERMKEY_SYM_UNKNOWN;
if(key->code.sym == TERMKEY_SYM_UNKNOWN)
- fprintf(stderr, "CSI function key %d\n", arg[0]);
+ fprintf(stderr, "CSI function key %ld\n", arg[0]);
}
else {
// We know from the logic above that cmd must be >= 0x40 and < 0x80
@@ -236,7 +236,7 @@ static termkey_result getkey_csi(termkey_t *tk, size_t introlen, termkey_key *ke
key->modifiers |= csi->csi_ss3s[cmd - 0x40].modifier_set;
if(key->code.sym == TERMKEY_SYM_UNKNOWN)
- fprintf(stderr, "CSI arg1=%d arg2=%d cmd=%c\n", arg[0], arg[1], cmd);
+ fprintf(stderr, "CSI arg1=%ld arg2=%ld cmd=%c\n", arg[0], arg[1], cmd);
}
return TERMKEY_RES_KEY;
diff --git a/termkey-internal.h b/termkey-internal.h
index fd865cd..774cb53 100644
--- a/termkey-internal.h
+++ b/termkey-internal.h
@@ -48,7 +48,7 @@ struct termkey {
// want exported as real symbols in the library
struct {
void (*eat_bytes)(termkey_t *tk, size_t count);
- void (*emit_codepoint)(termkey_t *tk, int codepoint, termkey_key *key);
+ void (*emit_codepoint)(termkey_t *tk, long codepoint, termkey_key *key);
termkey_result (*getkey_simple)(termkey_t *tk, termkey_key *key);
} method;
};
diff --git a/termkey.c b/termkey.c
index 455b1b4..b90bcf0 100644
--- a/termkey.c
+++ b/termkey.c
@@ -16,7 +16,7 @@ static struct termkey_driver *drivers[] = {
// Forwards for the "protected" methods
static void eat_bytes(termkey_t *tk, size_t count);
-static void emit_codepoint(termkey_t *tk, int codepoint, termkey_key *key);
+static void emit_codepoint(termkey_t *tk, long codepoint, termkey_key *key);
static termkey_result getkey_simple(termkey_t *tk, termkey_key *key);
static termkey_keysym register_c0(termkey_t *tk, termkey_keysym sym, unsigned char ctrl, const char *name);
@@ -230,7 +230,7 @@ static void eat_bytes(termkey_t *tk, size_t count)
}
}
-static inline int utf8_seqlen(int codepoint)
+static inline int utf8_seqlen(long codepoint)
{
if(codepoint < 0x0000080) return 1;
if(codepoint < 0x0000800) return 2;
@@ -242,7 +242,7 @@ static inline int utf8_seqlen(int codepoint)
static void fill_utf8(termkey_key *key)
{
- int codepoint = key->code.codepoint;
+ long codepoint = key->code.codepoint;
int nbytes = utf8_seqlen(codepoint);
key->utf8[nbytes] = 0;
@@ -265,7 +265,7 @@ static void fill_utf8(termkey_key *key)
}
}
-static void emit_codepoint(termkey_t *tk, int codepoint, termkey_key *key)
+static void emit_codepoint(termkey_t *tk, long codepoint, termkey_key *key)
{
if(codepoint < 0x20) {
// C0 range
@@ -338,7 +338,7 @@ static termkey_result getkey_simple(termkey_t *tk, termkey_key *key)
else if(tk->flags & TERMKEY_FLAG_UTF8) {
// Some UTF-8
int nbytes;
- int codepoint;
+ long codepoint;
key->type = TERMKEY_TYPE_UNICODE;
key->modifiers = 0;
diff --git a/termkey.h b/termkey.h
index 6be5bfa..52ebc88 100644
--- a/termkey.h
+++ b/termkey.h
@@ -82,7 +82,7 @@ typedef int termkey_keysym;
typedef struct {
termkey_type type;
union {
- int codepoint; // TERMKEY_TYPE_UNICODE
+ long codepoint; // TERMKEY_TYPE_UNICODE
int number; // TERMKEY_TYPE_FUNCTION
termkey_keysym sym; // TERMKEY_TYPE_KEYSYM
} code;