Make max. string length controllable with $MaxStringLen system variable.

This commit is contained in:
David F. Skoll
2008-10-05 13:49:45 -04:00
parent 93dfc7995c
commit f470297958
4 changed files with 5 additions and 1 deletions

View File

@@ -795,7 +795,7 @@ static int Add(void)
v3.type = STR_TYPE;
l1 = strlen(v1.v.str);
l2 = strlen(v2.v.str);
if (MAX_STR_LEN && (l1 + l2 > MAX_STR_LEN)) {
if (MaxStringLen && (l1 + l2 > MaxStringLen)) {
DestroyValue(v1); DestroyValue(v2);
return E_STRING_TOO_LONG;
}

View File

@@ -1316,6 +1316,8 @@ static int FShell(void)
DBufValue(&buf)[DBufLen(&buf)-1] = 0;
}
/* XXX Should we consume remaining output from cmd? */
pclose(fp);
r = RetStrVal(DBufValue(&buf));
DBufFree(&buf);

View File

@@ -76,6 +76,7 @@ EXTERN INIT( char TimeSep, TIMESEP);
EXTERN INIT( int SynthesizeTags, 0);
EXTERN INIT( int ScFormat, SC_AMPM);
EXTERN INIT( int MaxSatIter, 150);
EXTERN INIT( int MaxStringLen, MAX_STR_LEN);
EXTERN INIT( char *FileName, NULL);
EXTERN INIT( int UseStdin, 0);
EXTERN FILE *ErrFp;

View File

@@ -488,6 +488,7 @@ static SysVar SysVarArr[] = {
{ "LongMin", 1, INT_TYPE, &LongMin, -59, 59 },
{ "LongSec", 1, INT_TYPE, &LongSec, -59, 59 },
{ "MaxSatIter", 1, INT_TYPE, &MaxSatIter, 10, ANY },
{ "MaxStringLen", 1, INT_TYPE, &MaxStringLen, -1, ANY },
{ "MinsFromUTC", 1, INT_TYPE, &MinsFromUTC, -13*60, 13*60 },
{ "NextMode", 0, INT_TYPE, &NextMode, 0, 0 },
{ "NumQueued", 0, INT_TYPE, &NumQueued, 0, 0 },