halt='Use virGetEnv{Allow,Block}SUID instead of getenv' \
$(_sc_search_regexp)
+sc_prohibit_atoi:
+ @prohibit='\bato(i|f|l|ll|q) *\(' \
+ halt='Use virStrToLong* instead of atoi, atol, atof, atoq, atoll' \
+ $(_sc_search_regexp)
+
+
# We don't use this feature of maint.mk.
prev_version_file = /dev/null
* the geometry data is needed
*/
struct _geometry {
- int cyliders;
+ int cylinders;
int heads;
int sectors;
} geometry;
char **const groups,
void *data ATTRIBUTE_UNUSED)
{
+ virStoragePoolSourceDevicePtr device = &(pool->def->source.devices[0]);
+ if (virStrToLong_i(groups[0], NULL, 0, &device->geometry.cylinders) < 0 ||
+ virStrToLong_i(groups[1], NULL, 0, &device->geometry.heads) < 0 ||
+ virStrToLong_i(groups[2], NULL, 0, &device->geometry.sectors) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Failed to create disk pool geometry"));
+ return -1;
+ }
- pool->def->source.devices[0].geometry.cyliders = atoi(groups[0]);
- pool->def->source.devices[0].geometry.heads = atoi(groups[1]);
- pool->def->source.devices[0].geometry.sectors = atoi(groups[2]);
-
- return 0;
+ return 0;
}
static int
if (STREQ(buffer, "\r\n"))
break;
- if (istartswith(buffer, "Content-Length: "))
- content_length = atoi(buffer + 16);
- else if (istartswith(buffer, "HTTP/1.1 "))
- retcode = atoi(buffer + 9);
+ if (istartswith(buffer, "Content-Length: ")) {
+ if (virStrToLong_i(buffer + 16, NULL, 10, &content_length) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("failed to parse Xend response content length"));
+ return -1;
+ }
+ } else if (istartswith(buffer, "HTTP/1.1 ")) {
+ if (virStrToLong_i(buffer + 9, NULL, 10, &retcode) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("failed to parse Xend response return code"));
+ return -1;
+ }
+ }
}
VIR_FREE(buffer);