Author: iratqq
Date: Sat Feb  7 07:19:05 2009
New Revision: 5829

Modified:
   trunk/uim/uim-posix.c

Log:
* uim/uim-posix.c (c_duplicate_fileno):
  - Add arg2 to use dup2().
  (uim_init_posix_subrs):
  - (duplicate-fileno) is uim_scm_init_proc2().


Modified: trunk/uim/uim-posix.c
==============================================================================
--- trunk/uim/uim-posix.c       (original)
+++ trunk/uim/uim-posix.c       Sat Feb  7 07:19:05 2009
@@ -490,9 +490,11 @@
 }

 static uim_lisp
-c_duplicate_fileno(uim_lisp oldd_)
+c_duplicate_fileno(uim_lisp oldd_, uim_lisp newd_)
 {
-  return MAKE_INT(dup(C_INT(oldd_)));
+  if (FALSEP(newd_))
+    return MAKE_INT(dup(C_INT(oldd_)));
+  return MAKE_INT(dup2(C_INT(oldd_), C_INT(newd_)));
 }

 const static opt_args poll_flags[] = {
@@ -688,7 +690,7 @@
   uim_scm_init_proc1("file-close", c_file_close);
   uim_scm_init_proc2("file-read", c_file_read);
   uim_scm_init_proc2("file-write", c_file_write);
-  uim_scm_init_proc1("duplicate-fileno", c_duplicate_fileno);
+  uim_scm_init_proc2("duplicate-fileno", c_duplicate_fileno);

   uim_scm_init_proc2("file-poll", c_file_poll);
   uim_scm_init_proc0("file-poll-flags?", c_file_poll_flags);

Reply via email to