diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-01-08 21:22:01 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-01-08 21:22:01 +0000 |
commit | 4ebb85aae8b5d931228151ccf62b768dd5a2ff8c (patch) | |
tree | 1c11eeccf3bf69cfce415931ab703c82764bdaa0 | |
parent | ed5e8c4cd960f6693c3e2f086b909aed6d4edb94 (diff) |
Don't return NULL when retrieving a string that is too long.
-rw-r--r-- | input.c | 5 | ||||
-rw-r--r-- | screen-write.c | 6 |
2 files changed, 7 insertions, 4 deletions
@@ -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) |