static char *try_config(char *s, const char *opt)
{
size_t len;
- ssize_t i;
- ssize_t j;
char *p;
+ char *q;
if (!s || !opt)
/* no line or no option */
return NULL;
/* trim line comment */
- for (i = 0; s[i] && s[i] != '#'; ++i);
- s[i] = '\0';
+ p = s;
+ while (*p && (*p != '#'))
+ p++;
+ *p = '\0';
/* trim trailing whitespace */
- for (j = i-1; j >= 0 && ISSPACE(s[j]); --j);
- s[++j] = '\0';
+ q = p - 1;
+ while ((q >= s) && ISSPACE(*q))
+ q--;
+ *++q = '\0';
/* skip leading whitespace */
- for (i = 0; s[i] && ISSPACE(s[i]); ++i);
- p = &s[i];
+ p = s;
+ while (*p && ISSPACE(*p))
+ p++;
if (!*p)
/* empty line */
struct curl_slist *headers)
{
CURLMsg *msg;
+ CURLMcode code;
long L;
int M, Q, U = -1;
fd_set R, W, E;
init(cm, url, userpwd, headers);
while (U) {
- while (CURLM_CALL_MULTI_PERFORM == curl_multi_perform(cm, &U));
+
+ do {
+ code = curl_multi_perform(cm, &U);
+ } while (code == CURLM_CALL_MULTI_PERFORM);
if (U) {
FD_ZERO(&R);
{
CURL *http_handle;
CURLM *multi_handle;
+ CURLMcode code;
int still_running; /* keep number of running handles */
curl_multi_add_handle(multi_handle, http_handle);
/* we start some action by calling perform right away */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
+ do {
+ code = curl_multi_perform(multi_handle, &still_running);
+ } while(code == CURLM_CALL_MULTI_PERFORM);
while(still_running) {
struct timeval timeout;
case 0:
default:
/* timeout or readable/writable sockets */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
+ do {
+ code = curl_multi_perform(multi_handle, &still_running);
+ } while(code == CURLM_CALL_MULTI_PERFORM);
break;
}
}
curl_socket_t msgsock = CURL_SOCKET_BAD;
int wrotepidfile = 0;
char *pidname= (char *)".sockfilt.pid";
+ bool juggle_again;
int rc;
int error;
int arg=1;
if(!wrotepidfile)
goto sockfilt_cleanup;
- while(juggle(&msgsock, sock, &mode));
+ do {
+ juggle_again = juggle(&msgsock, sock, &mode);
+ } while(juggle_again);
sockfilt_cleanup: