addr = (void *)ai->ai_addr; /* storage area for this info */
memcpy(&addr->sin_addr, curr, sizeof(struct in_addr));
- addr->sin_family = (unsigned short)(he->h_addrtype);
+ addr->sin_family = (sa_family_t)(he->h_addrtype);
addr->sin_port = htons((unsigned short)port);
break;
addr6 = (void *)ai->ai_addr; /* storage area for this info */
memcpy(&addr6->sin6_addr, curr, sizeof(struct in6_addr));
- addr6->sin6_family = (unsigned short)(he->h_addrtype);
+ addr6->sin6_family = (sa_family_t)(he->h_addrtype);
addr6->sin6_port = htons((unsigned short)port);
break;
#endif
}
/* Duplicate other fields. */
- dst->encoder = src->encoder;
+ if(dst != NULL)
+ dst->encoder = src->encoder;
+ else
+ res = CURLE_WRITE_ERROR;
if(!res)
res = curl_mime_type(dst, src->mimetype);
if(!res)
state->requested_blksize = blksize;
((struct sockaddr *)&state->local_addr)->sa_family =
- (unsigned short)(conn->ip_addr->ai_family);
+ (sa_family_t)(conn->ip_addr->ai_family);
tftp_set_timeouts(state);
usecs /= 1000;
cnow.tv_sec = usecs / 1000000;
- cnow.tv_usec = usecs % 1000000;
+ cnow.tv_usec = (int)(usecs % 1000000);
return cnow;
}
tmp_CFLAGS="$tmp_CFLAGS -Wdouble-promotion"
fi
#
+ dnl Only gcc 6 or later
+ if test "$compiler_num" -ge "600"; then
+ tmp_CFLAGS="$tmp_CFLAGS -Wshift-negative-value"
+ tmp_CFLAGS="$tmp_CFLAGS -Wshift-overflow=2"
+ tmp_CFLAGS="$tmp_CFLAGS -Wnull-dereference"
+ tmp_CFLAGS="$tmp_CFLAGS -Wduplicated-cond"
+ fi
+ #
+ dnl Only gcc 7 or later
+ if test "$compiler_num" -ge "700"; then
+ tmp_CFLAGS="$tmp_CFLAGS -Wduplicated-branches"
+ tmp_CFLAGS="$tmp_CFLAGS -Wrestrict"
+ tmp_CFLAGS="$tmp_CFLAGS -Walloc-zero"
+ tmp_CFLAGS="$tmp_CFLAGS -Wformat-overflow=2"
+ tmp_CFLAGS="$tmp_CFLAGS -Wformat-truncation=2"
+ fi
+ #
fi
#
dnl Do not issue warnings for code in system include paths.