summaryrefslogtreecommitdiffstats
path: root/contrib/less/regexp.c
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2016-01-05 05:25:16 +0000
committerdelphij <delphij@FreeBSD.org>2016-01-05 05:25:16 +0000
commit03d374e3a6bf9b6f27de2a5eb994a1850de1e4fb (patch)
tree587451b5b5628b51a1932678fc08292d250617f9 /contrib/less/regexp.c
parentea7f4bcbda6247eed1adbc86025969a1c5cfa442 (diff)
parent479faf106b9c06110ca6358bfbd0ef45b838cbc8 (diff)
downloadFreeBSD-src-03d374e3a6bf9b6f27de2a5eb994a1850de1e4fb.zip
FreeBSD-src-03d374e3a6bf9b6f27de2a5eb994a1850de1e4fb.tar.gz
MFV r293125: less v481.
MFC after: 1 month Relnotes: yes
Diffstat (limited to 'contrib/less/regexp.c')
-rw-r--r--contrib/less/regexp.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/contrib/less/regexp.c b/contrib/less/regexp.c
index 77ab611..fcf7c9a 100644
--- a/contrib/less/regexp.c
+++ b/contrib/less/regexp.c
@@ -243,7 +243,10 @@ char *exp;
regcode = r->program;
regc(MAGIC);
if (reg(0, &flags) == NULL)
+ {
+ free(r);
return(NULL);
+ }
/* Dig out information for optimizations. */
r->regstart = '\0'; /* Worst-case defaults. */
@@ -274,7 +277,7 @@ char *exp;
for (; scan != NULL; scan = regnext(scan))
if (OP(scan) == EXACTLY && ((int) strlen(OPERAND(scan))) >= len) {
longest = OPERAND(scan);
- len = strlen(OPERAND(scan));
+ len = (int) strlen(OPERAND(scan));
}
r->regmust = longest;
r->regmlen = len;
@@ -554,7 +557,7 @@ int *flagp;
register char ender;
regparse--;
- len = strcspn(regparse, META);
+ len = (int) strcspn(regparse, META);
if (len <= 0)
FAIL("internal disaster");
ender = *(regparse+len);
@@ -670,9 +673,9 @@ char *val;
}
if (OP(scan) == BACK)
- offset = scan - val;
+ offset = (int) (scan - val);
else
- offset = val - scan;
+ offset = (int) (val - scan);
*(scan+1) = (offset>>8)&0377;
*(scan+2) = offset&0377;
}
@@ -870,7 +873,7 @@ char *prog;
/* Inline the first character, for speed. */
if (*opnd != *reginput)
return(0);
- len = strlen(opnd);
+ len = (int) strlen(opnd);
if (len > 1 && strncmp(opnd, reginput, len) != 0)
return(0);
reginput += len;
@@ -1034,7 +1037,7 @@ char *p;
opnd = OPERAND(p);
switch (OP(p)) {
case ANY:
- count = strlen(scan);
+ count = (int) strlen(scan);
scan += count;
break;
case EXACTLY:
OpenPOWER on IntegriCloud