void uv_fs_req_cleanup(uv_fs_t* req) { if (req == NULL) return; /* Only necessary for asychronous requests, i.e., requests with a callback. * Synchronous ones don't copy their arguments and have req->path and * req->new_path pointing to user-owned memory. UV_FS_MKDTEMP is the * exception to the rule, it always allocates memory. */ if (req->path != NULL && (req->cb != NULL || req->fs_type == UV_FS_MKDTEMP)) uv__free((void*) req->path); /* Memory is shared with req->new_path. */ req->path = NULL; req->new_path = NULL; if (req->fs_type == UV_FS_SCANDIR && req->ptr != NULL) uv__fs_scandir_cleanup(req); if (req->bufs != req->bufsml) uv__free(req->bufs); req->bufs = NULL; if (req->ptr != &req->statbuf) uv__free(req->ptr); req->ptr = NULL; }
void uv_fs_req_cleanup(uv_fs_t* req) { uv__free((void*)req->path); req->path = NULL; req->new_path = NULL; if (req->fs_type == UV_FS_SCANDIR && req->ptr != NULL) uv__fs_scandir_cleanup(req); if (req->ptr != &req->statbuf) uv__free(req->ptr); req->ptr = NULL; }