Projects
Eulaceura:Mainline:GA
tcp_wrappers
_service:obs_scm:tcp_wrappers-7.6-xgets.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:tcp_wrappers-7.6-xgets.patch of Package tcp_wrappers
commit 3ae65dc9a1c78c3088a08091f5d948fbbb8929af Author: Jakub Jelen <jjelen@redhat.com> Date: Tue Feb 23 17:28:15 2016 +0100 tcp_wrappers-7.6-xgets.patch diff --git a/misc.c b/misc.c index b248a5d..204546c 100644 --- a/misc.c +++ b/misc.c @@ -35,20 +35,32 @@ FILE *fp; { int got; char *start = ptr; + int c, last; - while (fgets(ptr, len, fp)) { + while (len && fgets(ptr, len, fp)) { got = strlen(ptr); if (got >= 1 && ptr[got - 1] == '\n') { tcpd_context.line++; if (got >= 2 && ptr[got - 2] == '\\') { - got -= 2; + got -= 2; } else { - return (start); + return (start); } + ptr += got; + len -= got; + ptr[0] = 0; + } else { + /* over buffer len */ + last = (got >= 1) ? ptr[got - 1] : '\0'; + while ((c = fgetc(fp)) != EOF) { + if (c == '\n') { + tcpd_context.line++; + if (last != '\\') + return (start); + } + last = c; + } } - ptr += got; - len -= got; - ptr[0] = 0; } return (ptr > start ? start : 0); }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2