Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
CSIEscape, STREscape: use size_t for buffer length
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
a8f8232
..
0c1acd4
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-135,7
+135,7
@@
typedef struct {
/* ESC '[' [[ [<priv>] <arg> [;]] <mode> [<mode>]] */
typedef struct {
char buf[ESC_BUF_SIZ]; /* raw string */
/* ESC '[' [[ [<priv>] <arg> [;]] <mode> [<mode>]] */
typedef struct {
char buf[ESC_BUF_SIZ]; /* raw string */
-
int len;
/* raw string length */
+
size_t len;
/* raw string length */
char priv;
int arg[ESC_ARG_SIZ];
int narg; /* nb of args */
char priv;
int arg[ESC_ARG_SIZ];
int narg; /* nb of args */
@@
-147,7
+147,7
@@
typedef struct {
typedef struct {
char type; /* ESC type ... */
char buf[STR_BUF_SIZ]; /* raw string */
typedef struct {
char type; /* ESC type ... */
char buf[STR_BUF_SIZ]; /* raw string */
-
int len;
/* raw string length */
+
size_t len;
/* raw string length */
char *args[STR_ARG_SIZ];
int narg; /* nb of args */
} STREscape;
char *args[STR_ARG_SIZ];
int narg; /* nb of args */
} STREscape;
@@
-1803,7
+1803,7
@@
csihandle(void)
void
csidump(void)
{
void
csidump(void)
{
-
in
t i;
+
size_
t i;
uint c;
fprintf(stderr, "ESC[");
uint c;
fprintf(stderr, "ESC[");
@@
-1921,7
+1921,7
@@
strparse(void)
void
strdump(void)
{
void
strdump(void)
{
-
in
t i;
+
size_
t i;
uint c;
fprintf(stderr, "ESC%c", strescseq.type);
uint c;
fprintf(stderr, "ESC%c", strescseq.type);
@@
-2330,7
+2330,7
@@
tputc(Rune u)
if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q')
term.mode |= MODE_SIXEL;
if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q')
term.mode |= MODE_SIXEL;
- if (strescseq.len+len >= sizeof(strescseq.buf)
-1
) {
+ if (strescseq.len+len >= sizeof(strescseq.buf)) {
/*
* Here is a bug in terminals. If the user never sends
* some code to stop the str or esc command, then st
/*
* Here is a bug in terminals. If the user never sends
* some code to stop the str or esc command, then st