static int proxy_symlink(FsContext *fs_ctx, const char *oldpath,

                         V9fsPath *dir_path, const char *name, FsCred *credp)

{

    int retval;

    V9fsString fullname, target;



    v9fs_string_init(&fullname);

    v9fs_string_init(&target);



    v9fs_string_sprintf(&fullname, "%s/%s", dir_path->data, name);

    v9fs_string_sprintf(&target, "%s", oldpath);



    retval = v9fs_request(fs_ctx->private, T_SYMLINK, NULL, "ssdd",

                          &target, &fullname, credp->fc_uid, credp->fc_gid);

    v9fs_string_free(&fullname);

    v9fs_string_free(&target);

    if (retval < 0) {

        errno = -retval;

        retval = -1;

    }

    return retval;

}

static int proxy_symlink(FsContext *fs_ctx, const char *oldpath,

                         V9fsPath *dir_path, const char *name, FsCred *credp)

{

    int retval;

    V9fsString fullname, target;



    v9fs_string_init(&fullname);

    v9fs_string_init(&target);



    v9fs_string_sprintf(&fullname, "%s/%s", dir_path->data, name);

    v9fs_string_sprintf(&target, "%s", oldpath);



    retval = v9fs_request(fs_ctx->private, T_SYMLINK, NULL, "ssdd",

                          &target, &fullname, credp->fc_uid, credp->fc_gid);

    v9fs_string_free(&fullname);

    v9fs_string_free(&target);

    if (retval < 0) {

        errno = -retval;

        retval = -1;

    }

    return retval;

}

static int FUNC_0(FsContext *VAR_0, const char *VAR_1,

                         V9fsPath *VAR_2, const char *VAR_3, FsCred *VAR_4)

{

    int VAR_5;

    V9fsString fullname, target;



    v9fs_string_init(&fullname);

    v9fs_string_init(&target);



    v9fs_string_sprintf(&fullname, "%s/%s", VAR_2->data, VAR_3);

    v9fs_string_sprintf(&target, "%s", VAR_1);



    VAR_5 = v9fs_request(VAR_0->private, T_SYMLINK, NULL, "ssdd",

                          &target, &fullname, VAR_4->fc_uid, VAR_4->fc_gid);

    v9fs_string_free(&fullname);

    v9fs_string_free(&target);

    if (VAR_5 < 0) {

        errno = -VAR_5;

        VAR_5 = -1;

    }

    return VAR_5;

}

static int FUNC_0(FsContext *VAR_0, const char *VAR_1,
V9fsPath *VAR_2, const char *VAR_3, FsCred *VAR_4)
{ int VAR_5; V9fsString fullname, target; v9fs_string_init(&fullname); v9fs_string_init(&target); v9fs_string_sprintf(&fullname, "%s/%s", VAR_2->data, VAR_3); v9fs_string_sprintf(&target, "%s", VAR_1); VAR_5 = v9fs_request(VAR_0->private, T_SYMLINK, NULL, "ssdd",
&target, &fullname, VAR_4->fc_uid, VAR_4->fc_gid); v9fs_string_free(&fullname); v9fs_string_free(&target); if (VAR_5 < 0) { errno = -VAR_5; VAR_5 = -1; } return VAR_5; }