projects
/
ncurses.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ncurses 6.1 - patch 20190121
[ncurses.git]
/
form
/
fld_max.c
diff --git
a/form/fld_max.c
b/form/fld_max.c
index 1ad925c4b870af4a1a53c905f852a6fc31bbb85b..fc00bc21259a266ce6ef3d3a9f385fb895da34b2 100644
(file)
--- a/
form/fld_max.c
+++ b/
form/fld_max.c
@@
-1,5
+1,5
@@
/****************************************************************************
/****************************************************************************
- * Copyright (c) 1998
Free Software Foundation, Inc.
*
+ * Copyright (c) 1998
-2013,2019 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 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@
-27,12
+27,12
@@
****************************************************************************/
/****************************************************************************
****************************************************************************/
/****************************************************************************
- * Author:
Juergen Pfeifer <Juergen.Pfeifer@T-Online.de> 1995,1997
*
+ * Author:
Juergen Pfeifer, 1995,1997
*
****************************************************************************/
#include "form.priv.h"
****************************************************************************/
#include "form.priv.h"
-MODULE_ID("$Id: fld_max.c,v 1.
2 1998/02/11 12:13:44 tom
Exp $")
+MODULE_ID("$Id: fld_max.c,v 1.
14 2019/01/19 21:26:06 Leon.Winter
Exp $")
/*---------------------------------------------------------------------------
| Facility : libnform
/*---------------------------------------------------------------------------
| Facility : libnform
@@
-44,31
+44,37
@@
MODULE_ID("$Id: fld_max.c,v 1.2 1998/02/11 12:13:44 tom Exp $")
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid argument
+--------------------------------------------------------------------------*/
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid argument
+--------------------------------------------------------------------------*/
-int set_max_field(FIELD *field, int maxgrow)
+NCURSES_EXPORT(int)
+set_max_field(FIELD *field, int maxgrow)
{
{
- if (!field || (maxgrow<0))
+ T((T_CALLED("set_max_field(%p,%d)"), (void *)field, maxgrow));
+
+ if (!field || (maxgrow < 0))
RETURN(E_BAD_ARGUMENT);
else
{
bool single_line_field = Single_Line_Field(field);
RETURN(E_BAD_ARGUMENT);
else
{
bool single_line_field = Single_Line_Field(field);
- if (maxgrow
>
0)
+ if (maxgrow
>
0)
{
{
- if (( single_line_field && (maxgrow < field->dcols)) ||
- (!single_line_field && (maxgrow < field->drows)))
+ if (((single_line_field && (maxgrow < field->dcols)) ||
+ (!single_line_field && (maxgrow < field->drows))) &&
+ !Field_Has_Option(field, O_INPUT_LIMIT))
RETURN(E_BAD_ARGUMENT);
}
field->maxgrow = maxgrow;
RETURN(E_BAD_ARGUMENT);
}
field->maxgrow = maxgrow;
- field->status &= ~_MAY_GROW;
- if (!(field->opts & O_STATIC))
+ if (Field_Has_Option(field, O_INPUT_LIMIT) && field->dcols > maxgrow)
+ field->dcols = maxgrow;
+ ClrStatus(field, _MAY_GROW);
+ if (!((unsigned)field->opts & O_STATIC))
{
{
- if ((maxgrow
==
0) ||
- (
single_line_field && (field->dcols < maxgrow)) ||
+ if ((maxgrow
==
0) ||
+ (single_line_field && (field->dcols < maxgrow)) ||
(!single_line_field && (field->drows < maxgrow)))
(!single_line_field && (field->drows < maxgrow)))
-
field->status |= _MAY_GROW
;
+
SetStatus(field, _MAY_GROW)
;
}
}
RETURN(E_OK);
}
}
}
RETURN(E_OK);
}
-
+
/* fld_max.c ends here */
/* fld_max.c ends here */