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);