summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-01-08 21:22:01 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-01-08 21:22:01 +0000
commit4ebb85aae8b5d931228151ccf62b768dd5a2ff8c (patch)
tree1c11eeccf3bf69cfce415931ab703c82764bdaa0
parented5e8c4cd960f6693c3e2f086b909aed6d4edb94 (diff)
Don't return NULL when retrieving a string that is too long.
-rw-r--r--input.c5
-rw-r--r--screen-write.c6
2 files changed, 7 insertions, 4 deletions
diff --git a/input.c b/input.c
index 1d9f529b..3a4057fb 100644
--- a/input.c
+++ b/input.c
@@ -1,4 +1,4 @@
-/* $Id: input.c,v 1.70 2009-01-07 22:52:33 nicm Exp $ */
+/* $Id: input.c,v 1.71 2009-01-08 21:22:01 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -202,10 +202,9 @@ input_get_string(struct input_ctx *ictx)
{
char *s;
- if (ictx->string_buf == NULL)
+ if (ictx->string_buf == NULL || input_add_string(ictx, '\0') != 0)
return (xstrdup(""));
- input_add_string(ictx, '\0');
s = ictx->string_buf;
ictx->string_buf = NULL;
return (s);
diff --git a/screen-write.c b/screen-write.c
index 25f669b6..961a6a84 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -1,4 +1,4 @@
-/* $Id: screen-write.c,v 1.19 2009-01-06 18:07:57 nicm Exp $ */
+/* $Id: screen-write.c,v 1.20 2009-01-08 21:22:01 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -139,6 +139,7 @@ screen_write_cursorup(struct screen_write_ctx *ctx, u_int ny)
if (ny == 0)
return;
+ log_debug("cursor up: %u + %u", s->cy, ny);
s->cy -= ny;
if (ctx->write != NULL)
@@ -159,6 +160,7 @@ screen_write_cursordown(struct screen_write_ctx *ctx, u_int ny)
if (ny == 0)
return;
+ log_debug("cursor down: %u + %u", s->cy, ny);
s->cy += ny;
if (ctx->write != NULL)
@@ -179,6 +181,7 @@ screen_write_cursorright(struct screen_write_ctx *ctx, u_int nx)
if (nx == 0)
return;
+ log_debug("cursor right: %u + %u", s->cx, nx);
s->cx += nx;
if (ctx->write != NULL)
@@ -199,6 +202,7 @@ screen_write_cursorleft(struct screen_write_ctx *ctx, u_int nx)
if (nx == 0)
return;
+ log_debug("cursor left: %u + %u", s->cx, nx);
s->cx -= nx;
if (ctx->write != NULL)