|
|
| version 1.5, 2004/01/10 20:15:43 | version 1.8, 2004/01/15 06:20:42 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | |
| #if defined(SUPPORT_HOSTDRV) | |
| /* | /* |
| ゲストOS(DOS)からホストOS(Win)にアクセスするの〜 | ゲストOS(DOS)からホストOS(Win)にアクセスするの〜 |
| Line 6 | Line 9 |
| 更に、手抜き版だし(マテ | 更に、手抜き版だし(マテ |
| */ | */ |
| #include "compiler.h" | |
| #include "dosio.h" | #include "dosio.h" |
| #include "cpucore.h" | #include "cpucore.h" |
| #include "pccore.h" | #include "pccore.h" |
| Line 468 static void change_currdir(INTRST intrst | Line 470 static void change_currdir(INTRST intrst |
| } | } |
| ptr = intrst->filename_ptr; | ptr = intrst->filename_ptr; |
| TRACEOUT(("change_currdir %s", intrst->filename_ptr)); | |
| if (ptr[0] == '\0') { // るーと | if (ptr[0] == '\0') { // るーと |
| strcpy(intrst->filename_ptr, "\\"); | strcpy(intrst->filename_ptr, "\\"); |
| strcpy(intrst->current_path, intrst->filename_ptr); | strcpy(intrst->current_path, intrst->filename_ptr); |
| Line 475 static void change_currdir(INTRST intrst | Line 478 static void change_currdir(INTRST intrst |
| succeed(intrst); | succeed(intrst); |
| return; | return; |
| } | } |
| if ((is_wildcards(intrst->fcbname_ptr) != FALSE) || | if ((strlen(intrst->filename_ptr) >= (67 - ROOTPATH_SIZE)) || |
| (is_wildcards(intrst->fcbname_ptr) != FALSE) || | |
| (hostdrvs_getrealpath(&hdp, ptr) != SUCCESS) || | (hostdrvs_getrealpath(&hdp, ptr) != SUCCESS) || |
| (hdp.di.fcbname[0] == ' ') || (!(hdp.di.attr & 0x10))) { | (hdp.di.fcbname[0] == ' ') || (!(hdp.di.attr & 0x10))) { |
| fail(intrst, ERR_PATHNOTFOUND); | fail(intrst, ERR_PATHNOTFOUND); |
| Line 732 static void rename_file(INTRST intrst) { | Line 736 static void rename_file(INTRST intrst) { |
| return; | return; |
| } | } |
| // ワイルドカードくるんで要修正… | |
| if ((hostdrvs_getrealpath(&hdp1, intrst->filename_ptr) != SUCCESS) || | if ((hostdrvs_getrealpath(&hdp1, intrst->filename_ptr) != SUCCESS) || |
| (hostdrvs_getrealpath(&hdp2, intrst->filename_ptr_2) != SUCCESS)) { | (hostdrvs_getrealpath(&hdp2, intrst->filename_ptr_2) != SUCCESS)) { |
| fail(intrst, ERR_PATHNOTFOUND); | fail(intrst, ERR_PATHNOTFOUND); |
| Line 741 static void rename_file(INTRST intrst) { | Line 746 static void rename_file(INTRST intrst) { |
| fail(intrst, ERR_ACCESSDENIED); | fail(intrst, ERR_ACCESSDENIED); |
| } | } |
| /* 13 */ | /* 13 */ |
| static void delete_file(INTRST intrst) { | static void delete_file(INTRST intrst) { |
| Line 752 static void delete_file(INTRST intrst) { | Line 756 static void delete_file(INTRST intrst) { |
| return; | return; |
| } | } |
| // ワイルドカードくるんで要修正… | |
| if ((hostdrvs_getrealpath(&hdp, intrst->filename_ptr) != SUCCESS) || | if ((hostdrvs_getrealpath(&hdp, intrst->filename_ptr) != SUCCESS) || |
| (hdp.di.attr & 0x10)) { | (hdp.di.attr & 0x10)) { |
| fail(intrst, ERR_PATHNOTFOUND); | fail(intrst, ERR_PATHNOTFOUND); |
| Line 1115 void hostdrv_intr(void) { | Line 1120 void hostdrv_intr(void) { |
| store_intr_regs(&intrst); | store_intr_regs(&intrst); |
| } | } |
| #endif | |