mirror of
https://github.com/digarok/gsplus.git
synced 2024-11-24 06:34:02 +00:00
host mli - convert cygwin paths to Win32 paths before using with Win32 API.
This commit is contained in:
parent
2b38b6bf8d
commit
fcf8dea873
@ -1258,7 +1258,7 @@ static char *expand_path(const char *path, word32 *error) {
|
||||
|
||||
ssize_t ok = cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, buffer, sizeof(buffer));
|
||||
if (ok < 0) {
|
||||
*error = fstError;
|
||||
if (error) *error = fstError;
|
||||
return NULL;
|
||||
}
|
||||
return host_gc_strdup(buffer);
|
||||
@ -1283,6 +1283,7 @@ void host_mli_head() {
|
||||
saved_call = get_memory_c(rts + 1, 0);
|
||||
saved_dcb = get_memory16_c(rts + 2, 0);
|
||||
saved_p = engine.psr;
|
||||
word16 terr = 0;
|
||||
|
||||
/* do pcount / path stuff here */
|
||||
char *path1 = NULL;
|
||||
@ -1311,27 +1312,30 @@ void host_mli_head() {
|
||||
path1 = is_host_path(get_memory16_c(saved_dcb + 1, 0));
|
||||
if (!path1) goto prodos_mli;
|
||||
path3 = host_gc_append_path(host_root, path1);
|
||||
path3 = expand_path(path3, &terr);
|
||||
break;
|
||||
|
||||
case RENAME:
|
||||
path1 = is_host_path(get_memory16_c(saved_dcb + 1,0));
|
||||
path2 = is_host_path(get_memory16_c(saved_dcb + 3,0));
|
||||
if (!path1 && !path2) goto prodos_mli;
|
||||
if (path1) path3 = host_gc_append_path(host_root, path1);
|
||||
if (path2) path4 = host_gc_append_path(host_root, path2);
|
||||
path3 = expand_path(path3, &terr);
|
||||
path4 = expand_path(path4, &terr);
|
||||
break;
|
||||
|
||||
case SET_PREFIX:
|
||||
path1 = is_host_path(get_memory16_c(saved_dcb + 1,0));
|
||||
if (!path1 && !saved_prefix) goto prodos_mli;
|
||||
if (path1) path3 = host_gc_append_path(host_root, path1);
|
||||
path3 = expand_path(path3, &terr);
|
||||
break;
|
||||
|
||||
|
||||
case GET_PREFIX:
|
||||
if (!saved_prefix) goto prodos_mli;
|
||||
break;
|
||||
|
||||
|
||||
/* refnum based */
|
||||
case NEWLINE:
|
||||
case READ:
|
||||
|
Loading…
Reference in New Issue
Block a user