diff options
author | midipix <writeonce@midipix.org> | 2016-07-22 04:04:32 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-07-24 06:15:27 -0400 |
commit | 3995d65255b673ad4575657782075652532f9dd7 (patch) | |
tree | 8f96851bc8b5e3035e25c3556d1f88acb475ca4d | |
parent | 48271e3845cb119414f9b82a11a0404261efdb1d (diff) | |
download | ptycon-3995d65255b673ad4575657782075652532f9dd7.tar.bz2 ptycon-3995d65255b673ad4575657782075652532f9dd7.tar.xz |
ptyc_spawn(): support '/??/...' executable path arguments.
-rw-r--r-- | src/internal/ptycon_open_impl.c | 2 | ||||
-rw-r--r-- | src/pty/ptyc_spawn.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/internal/ptycon_open_impl.c b/src/internal/ptycon_open_impl.c index efda8bc..8ab9d61 100644 --- a/src/internal/ptycon_open_impl.c +++ b/src/internal/ptycon_open_impl.c @@ -52,7 +52,7 @@ static int32_t ptyc_open( /* oa */ oa.len = sizeof(nt_oa); - oa.root_dir = hat; + oa.root_dir = (buffer[0]=='\\') ? 0 : hat; oa.obj_name = &path; oa.obj_attr = fprivate ? 0 : NT_OBJ_INHERIT; oa.sec_desc = 0; diff --git a/src/pty/ptyc_spawn.c b/src/pty/ptyc_spawn.c index 9ad8e9b..3655d19 100644 --- a/src/pty/ptyc_spawn.c +++ b/src/pty/ptyc_spawn.c @@ -79,7 +79,9 @@ int __stdcall ptyc_spawn(struct ptyc_driver_ctx * dctx) : peb->process_params->cwd_handle; patharg = (dctx->cctx->eargv[0][0] == '/') - ? &dctx->cctx->eargv[0][1] + ? (dctx->cctx->eargv[0][1] == '?') + ? &dctx->cctx->eargv[0][0] + : &dctx->cctx->eargv[0][1] : &dctx->cctx->eargv[0][0]; /* hfile */ |