[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:6582] Make friends with cygwin pty by fakecygpty.



>>>>> [meadow-develop : No.6587] にて
>>>>> 堀口さんは書きました:
堀口> 堀口です. どうやら trunk が正解のようなのでこっちにやっちゃいます.

はい、2.10-dev は feature freeze ですので、機能追加は trunk にお
願いします。


堀口>  もうひとつ相談です. この変更の目的は fakecygpty をスマートに使え
堀口> るようにすることですが, この fakecygty は cygwin の gcc でないと
堀口> コンパイルできません.

堀口>  このような外部プログラムはどのように扱えばいいでしょう.
堀口>  たとえば,

Meadow に取り込む価値があるのであれば、取り込んでいけば良いと思い
ます。
;; 私は PuTTY 派ですので、恩恵を受けることはあまりないのですが...


以下、本件に関する commit で気が付いた点を述べます。

>>>>> In [meadow-commit : No.639] 
>>>>>	horiguti@xxxxxxxxxxxxxxxx wrote:

堀口> --- trunk/src/callproc.c	2005-06-13 16:48:43 UTC (rev 3746)
堀口> +++ trunk/src/callproc.c	2005-06-13 19:27:07 UTC (rev 3747)
堀口> +Lisp_Object Vmw32_process_expects_pty;
堀口> +    Vmw32_process_expects_pty = 0;
堀口> +  DEFVAR_BOOL ("mw32-process-expects-pty", &Vmw32_process_expects_pty,

Vmw32_process_expects_pty は Lisp_Object ではダメです。
int Vmw32_process_expects_pty;
です。

ついでですが、

堀口> +void exec_target(char* argv[])
堀口> +{
堀口> +  int fd;
堀口> +  int pid;
堀口> +
堀口> +  if ((masterfd = open ("/dev/ptmx", O_RDWR)) < 0) {
堀口> +    perror("Cannot open pseudo tty");
堀口> +    exit (1);
堀口> +  }

できるだけ、GNU コーディング規約に準拠してください。

http://www.sra.co.jp/wingnut/standards-j_toc.html#Writing%20C

上記のコードは以下のようになります。

void
exec_target (char *argv[])
{
  int fd;
  int pid;

  masterfd = open ("/dev/ptmx", O_RDWR);
  if (masterfd < 0)
    {
      perror ("Cannot open pseudo tty");
      exit (1);
    }
}

--
三好 雅則 http://www.boreas.dti.ne.jp/~miyoshi/