diff options
author | Marcus Brinkmann <[email protected]> | 2009-11-06 00:12:59 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2009-11-06 00:12:59 +0000 |
commit | 8acf819d407e80606268770af14980d07540b099 (patch) | |
tree | 4d129012bea756c40395fee73dac4dad88dfc877 /src/vfs-mount.c | |
parent | 2009-11-05 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-8acf819d407e80606268770af14980d07540b099.tar.gz gpgme-8acf819d407e80606268770af14980d07540b099.zip |
2009-11-05 Marcus Brinkmann <[email protected]>
* engine-g13.c (struct engine_g13): Remove members RESULT_CB and
RESULT_CB_VALUE.
(g13_assuan_simple_command, status_handler): Don't use those anymore.
(g13_transact): Remove them from argument list, too.
* vfs-mount.c (_gpgme_vfs_mount_status_handler): New function.
(_gpgme_op_vfs_mount): Pass it to transact.
Diffstat (limited to 'src/vfs-mount.c')
-rw-r--r-- | src/vfs-mount.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/vfs-mount.c b/src/vfs-mount.c index 85a92adf..f5a6286c 100644 --- a/src/vfs-mount.c +++ b/src/vfs-mount.c @@ -56,6 +56,30 @@ gpgme_op_vfs_mount_result (gpgme_ctx_t ctx) static gpgme_error_t +_gpgme_vfs_mount_status_handler (void *priv, const char *code, const char *args) +{ + gpgme_ctx_t ctx = (gpgme_ctx_t) priv; + gpgme_error_t err; + void *hook; + op_data_t opd; + + err = _gpgme_op_data_lookup (ctx, OPDATA_VFS_MOUNT, &hook, -1, NULL); + opd = hook; + if (err) + return err; + + if (! strcasecmp ("MOUNTPOINT", code)) + { + if (opd->result.mount_dir) + free (opd->result.mount_dir); + opd->result.mount_dir = strdup (args); + } + + return 0; +} + + +static gpgme_error_t vfs_start (gpgme_ctx_t ctx, int synchronous, const char *command, gpgme_assuan_data_cb_t data_cb, @@ -190,7 +214,7 @@ _gpgme_op_vfs_mount (gpgme_ctx_t ctx, const char *container_file, } err = gpgme_op_vfs_transact (ctx, cmd, NULL, NULL, NULL, NULL, - NULL, NULL, op_err); + _gpgme_vfs_mount_status_handler, ctx, op_err); free (cmd); return err; |