open() 함수가 실패했을 때, 어떤 에러가 발생하는지도 확인해 봐야 할 듯해서...
open()의 help |
errno 값에 대해서 조금 더 확인해 보면,
errno의 help |
help화면엔 별것이 없고, ERRNO.H를 열어 보자.
ERRNO.H |
그럼, 이제 소스를 고쳐서 errno를 확인해 보기로 하자.
FILEIO.C 메시지에 errno 추가 |
make |
디버그메시지, errno = 19 |
errno = 19는 EINVAL |
결론은 Invalid Argument...휴..
Fileio.c의 mch_open()의 인자들을 모두 확인해 보았고, 두번째 인자들의 flag들도 바꾸어 보았으나 문제가 해결되지 않았다.
비록 에러코드는 Invalid Argument 이지만, 더 low-level에서의 인자를 뜻하는 것이 아닐런지...
인자들만 바꾸어서 문제가 해결된다면, 앞서의 mode와 마찬가지로 UNIX/Windows 차이가 발생할리 없었을 것이다.
지금까지의 시험결과로는 DOSBox 내부에서 문제를 해결하는 것이 불가능해 보인다.
DOSBox와 UNIX 사이의 interface, 특히 파일시스템과 관련된 interface의 문제로 보인다.
문제는 이런 경우의 디버깅이 매우 어렵다는 점....
Fileio.c의 mch_open()의 인자들을 모두 확인해 보았고, 두번째 인자들의 flag들도 바꾸어 보았으나 문제가 해결되지 않았다.
비록 에러코드는 Invalid Argument 이지만, 더 low-level에서의 인자를 뜻하는 것이 아닐런지...
인자들만 바꾸어서 문제가 해결된다면, 앞서의 mode와 마찬가지로 UNIX/Windows 차이가 발생할리 없었을 것이다.
지금까지의 시험결과로는 DOSBox 내부에서 문제를 해결하는 것이 불가능해 보인다.
DOSBox와 UNIX 사이의 interface, 특히 파일시스템과 관련된 interface의 문제로 보인다.
문제는 이런 경우의 디버깅이 매우 어렵다는 점....
댓글 없음:
댓글 쓰기