# functions. There's a corresponding exclude to allow usage within tests,
# docs, examples, tools, src/libvirt-*.c, and include/libvirt/libvirt-*.h
sc_prohibit_virXXXFree:
- @prohibit='\bvir(Domain|Network|NodeDevice|StorageVol|StoragePool)Free\b' \
+ @prohibit='\bvir(Domain|Network|NodeDevice|StorageVol|StoragePool|Stream)Free\b' \
exclude='sc_prohibit_virXXXFree' \
halt='avoid using 'virXXXFree', use 'virObjectUnref' instead' \
$(_sc_search_regexp)
^(tools/virsh.pod|cfg.mk|docs/.*)$$
exclude_file_name_regexp--sc_prohibit_virXXXFree = \
- ^(docs/|tests/|examples/|tools/|cfg.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage).h|src/libvirt-(domain|qemu|network|nodedev|storage).c$$)
+ ^(docs/|tests/|examples/|tools/|cfg.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage|stream).h|src/libvirt-(domain|qemu|network|nodedev|storage|stream).c$$)
virStreamAbort(st);
daemonFreeClientStream(client, stream);
} else {
- virStreamFree(st);
+ virObjectUnref(st);
}
}
return rv;
msg = tmp;
}
- virStreamFree(stream->st);
+ virObjectUnref(stream->st);
VIR_FREE(stream);
return ret;
virStreamPtr st = data;
/* free stream reference */
- virStreamFree(st);
+ virObjectUnref(st);
/* delete lock file */
virChrdevLockFileRemove(dev);
char *path;
int ret;
bool added = false;
- virErrorPtr savedError;
switch (source->type) {
case VIR_DOMAIN_CHR_TYPE_PTY:
return 0;
error:
- savedError = virSaveLastError();
-
if (added)
virHashRemoveEntry(devs->hash, path);
else
- virStreamFree(st);
-
- virSetError(savedError);
- virFreeError(savedError);
+ virObjectUnref(st);
if (cbdata)
VIR_FREE(cbdata->path);
static void virFDStreamCallbackFree(void *opaque)
{
- virStreamPtr st = opaque;
- virStreamFree(st);
+ virObjectUnref(opaque);
}
if (!cbdata->cb && cbdata->ff)
(cbdata->ff)(cbdata->opaque);
- virStreamFree(cbdata->st);
+ virObjectUnref(cbdata->st);
VIR_FREE(opaque);
}