X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Fedit_field.c;h=8c58cd6a6bf5d25ef503ad1bf3e0c34aab68eb78;hp=506d08ae0396ae4fa2cc9cf568e7cf067b200b84;hb=21c8ffa0edf2e389f3f674f0c08009002c6f357d;hpb=e2dee48666d83c609f7ecced6203ecfdc94e36aa diff --git a/test/edit_field.c b/test/edit_field.c index 506d08ae..8c58cd6a 100644 --- a/test/edit_field.c +++ b/test/edit_field.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2003-2011,2013 Free Software Foundation, Inc. * + * Copyright (c) 2003-2013,2014 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -26,7 +26,7 @@ * authorization. * ****************************************************************************/ /* - * $Id: edit_field.c,v 1.22 2013/09/28 22:02:17 tom Exp $ + * $Id: edit_field.c,v 1.24 2014/09/05 08:39:52 tom Exp $ * * A wrapper for form_driver() which keeps track of the user's editing changes * for each field, and makes the resulting length available as a @@ -325,6 +325,7 @@ set_buffer_length(FIELD * f, int length) void init_edit_field(FIELD * f, char *value) { + char empty[1]; FieldAttrs *ptr = field_attrs(f); if (ptr == 0) { int rows, cols, frow, fcol, nrow, nbuf; @@ -336,6 +337,10 @@ init_edit_field(FIELD * f, char *value) ptr->row_lengths = typeCalloc(int, (size_t) nrow + 1); } } + if (value == 0) { + value = empty; + *value = '\0'; + } set_field_userptr(f, (void *) ptr); set_field_buffer(f, 0, value); /* will be formatted */ set_field_buffer(f, 1, value); /* will be unformatted */ @@ -384,7 +389,7 @@ edit_field(FORM * form, int *result) length = before_off; break; case REQ_CLR_EOL: - if (before_row + 1 == before->rows) + if ((int) (before_row + 1) == (int) (before->rows)) length = before_off; break; case REQ_CLR_FIELD: