forked from github/server
Bugfix für überlange Befehlszeilen
This commit is contained in:
parent
419442d887
commit
bd8a8634fc
|
@ -366,16 +366,19 @@ getbuf(FILE * F)
|
||||||
end = bp + strlen((const char *)bp);
|
end = bp + strlen((const char *)bp);
|
||||||
if (*(end-1)=='\n') *(--end) = 0;
|
if (*(end-1)=='\n') *(--end) = 0;
|
||||||
else {
|
else {
|
||||||
while (bp && !lbuf[MAXLINE-1] && lbuf[MAXLINE-2]!='\n') {
|
/* wenn die zeile länger als erlaubt war, ist sie ungültig,
|
||||||
/* wenn die zeile länger als erlaubt war,
|
* und wird mit dem rest weggeworfen: */
|
||||||
* wird der rest weggeworfen: */
|
while (bp!=NULL) {
|
||||||
bp = (unsigned char *)fgets(buf, 1024, F);
|
bp = (unsigned char *)fgets(lbuf, MAXLINE, F);
|
||||||
comment = false;
|
end = bp + strlen((const char *)bp);
|
||||||
|
if (*(end-1)=='\n') break;
|
||||||
|
lbuf[MAXLINE-1] = 0;
|
||||||
}
|
}
|
||||||
bp = (unsigned char *)lbuf;
|
comment = false;
|
||||||
|
bp = NULL;
|
||||||
}
|
}
|
||||||
cont = false;
|
cont = false;
|
||||||
while (cp!=buf+MAXLINE && (char*)bp!=lbuf+MAXLINE && *bp) {
|
while (bp!=NULL && *bp && cp!=buf+MAXLINE && (char*)bp!=lbuf+MAXLINE) {
|
||||||
if (isspace(*bp)) {
|
if (isspace(*bp)) {
|
||||||
if (eatwhite) {
|
if (eatwhite) {
|
||||||
do { ++bp; } while ((char*)bp!=lbuf+MAXLINE && isspace(*bp));
|
do { ++bp; } while ((char*)bp!=lbuf+MAXLINE && isspace(*bp));
|
||||||
|
|
Loading…
Reference in New Issue