From: pegacorn@... Date: 2003-02-21T00:43:08+09:00 Subject: [ruby-dev:19623] Re: [PATCH] file.c for (PR#389) and (PR#390) ----Next_Part(Fri_Feb_21_00:40:08_2003_291)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit From: nobu.nakada@nifty.ne.jp Date: Thu, 20 Feb 2003 02:17:05 +0900 Message-Id: <200302191717.h1JHH5k07075@sharui.nakada.kanuma.tochigi.jp> /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > いや、私もいまいち判断を下すだけの根拠がないのですが、Windowsを > 使ってる人の意見はどうなのでしょうか。 添付のプログラムでは以下のような結果になります。 cygwin ではエラーになってしまいますが、 mswin と異なる仕様にする理由を思いつかないので、 同じで良いのではないかと思います。 mswin: C:\tmp>cl /W3 cwd.c C:\tmp>cwd .. \\machine\share\sub cwd = \\machine\share\sub cwd = \\machine\share C:\tmp>cwd .. \\machine\share cwd = \\machine\share cwd = \\machine\share cygwin: % gcc -Wall cwd.c % ./a .. //machine/share/sub cwd = //machine/share/sub cwd = //machine/share % ./a .. //machine/share cwd = //machine/share ..: No such file or directory ---- 馬越 pegacorn@jcom.home.ne.jp ----Next_Part(Fri_Feb_21_00:40:08_2003_291)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="cwd.c" #include #ifdef __CYGWIN__ #include #include #else #include #include #define MAXPATHLEN _MAX_PATH #endif #include int putcwd(void) { char cwd[MAXPATHLEN]; if ( getcwd(cwd, MAXPATHLEN) == NULL ) { perror(NULL); return -1; } printf("cwd = %s\n", cwd); return 0; } int main(int argc, char *argv[]) { assert(2 <= argc && argc <= 3); if ( argc == 3 ) { if ( chdir(argv[2]) != 0 ) { perror(argv[2]); return 1; } if ( putcwd() != 0 ) return 1; } if ( chdir(argv[1]) != 0 ) { perror(argv[1]); return 1; } if ( putcwd() != 0 ) return 1; return 0; } ----Next_Part(Fri_Feb_21_00:40:08_2003_291)----