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 1ed58176b889ae23f10b2b8ffeccc0862d7502ef..fc00bc21259a266ce6ef3d3a9f385fb895da34b2 100644
(file)
--- a/
form/fld_max.c
+++ b/
form/fld_max.c
@@
-1,5
+1,5
@@
/****************************************************************************
/****************************************************************************
- * Copyright (c) 1998
,2000 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 *
@@
-28,12
+28,11
@@
/****************************************************************************
* Author: Juergen Pfeifer, 1995,1997 *
/****************************************************************************
* Author: Juergen Pfeifer, 1995,1997 *
- * Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en *
****************************************************************************/
#include "form.priv.h"
****************************************************************************/
#include "form.priv.h"
-MODULE_ID("$Id: fld_max.c,v 1.
6 2002/07/06 15:33:27 juergen
Exp $")
+MODULE_ID("$Id: fld_max.c,v 1.
14 2019/01/19 21:26:06 Leon.Winter
Exp $")
/*---------------------------------------------------------------------------
| Facility : libnform
/*---------------------------------------------------------------------------
| Facility : libnform
@@
-46,31
+45,36
@@
MODULE_ID("$Id: fld_max.c,v 1.6 2002/07/06 15:33:27 juergen Exp $")
| E_BAD_ARGUMENT - invalid argument
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(int)
| E_BAD_ARGUMENT - invalid argument
+--------------------------------------------------------------------------*/
NCURSES_EXPORT(int)
-set_max_field
(FIELD *field, int maxgrow)
+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 */