X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=form%2Ffld_max.c;h=325541a373b5c76c076ae8f49ad68261fc1ba9db;hp=fc00bc21259a266ce6ef3d3a9f385fb895da34b2;hb=9f479192e3ca3413d235c66bf058f8cc63764898;hpb=eccca377f55c70b12e3e92621d94d1e1c1fcfb7d diff --git a/form/fld_max.c b/form/fld_max.c index fc00bc21..325541a3 100644 --- a/form/fld_max.c +++ b/form/fld_max.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2013,2019 Free Software Foundation, Inc. * + * Copyright 2019-2020,2021 Thomas E. Dickey * + * Copyright 1998-2012,2013 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 * @@ -32,19 +33,19 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_max.c,v 1.14 2019/01/19 21:26:06 Leon.Winter Exp $") +MODULE_ID("$Id: fld_max.c,v 1.18 2021/06/17 21:26:02 tom Exp $") /*--------------------------------------------------------------------------- -| Facility : libnform +| Facility : libnform | Function : int set_max_field(FIELD *field, int maxgrow) -| +| | Description : Set the maximum growth for a dynamic field. If maxgrow=0 | the field may grow to any possible size. | | Return Values : E_OK - success | E_BAD_ARGUMENT - invalid argument +--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) +FORM_EXPORT(int) set_max_field(FIELD *field, int maxgrow) { T((T_CALLED("set_max_field(%p,%d)"), (void *)field, maxgrow)); @@ -63,7 +64,9 @@ set_max_field(FIELD *field, int maxgrow) RETURN(E_BAD_ARGUMENT); } field->maxgrow = maxgrow; - if (Field_Has_Option(field, O_INPUT_LIMIT) && field->dcols > maxgrow) + /* shrink */ + if (maxgrow > 0 && Field_Has_Option(field, O_INPUT_LIMIT) && + field->dcols > maxgrow) field->dcols = maxgrow; ClrStatus(field, _MAY_GROW); if (!((unsigned)field->opts & O_STATIC))