diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-30 01:58:51 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-30 01:58:51 +0000 |
commit | 1f500f03685c9e6de1d44e0fef858b066b3cdf8b () | |
tree | 03cfdbdc013bf5ea68d2b8a8aa03dd346f8e54be | |
parent | 69bbcbe4c1401f98b5de299c872828d6aeae2f8e (diff) |
dln.c: extra arguments
* dln.h (DLN_FIND_EXTRA_ARG, DLN_FIND_EXTRA_ARG_DECL): allow extra arguments to dln_find_{exe,file}_r(). * dln_find.c (dln_find_exe_r, dln_find_file_r): add extract arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | dln.h | 11 | ||||
-rw-r--r-- | dln_find.c | 16 |
3 files changed, 25 insertions, 9 deletions
@@ -1,4 +1,9 @@ -Sun Jun 30 10:57:13 2013 Nobuyoshi Nakada <[email protected]> * process.c (EXPORT_STR, EXPORT_DUP): convert to default process encoding if defined. @@ -30,8 +30,15 @@ RUBY_SYMBOL_EXPORT_BEGIN -char *dln_find_exe_r(const char*,const char*,char*,size_t); -char *dln_find_file_r(const char*,const char*,char*,size_t); #ifdef USE_DLN_A_OUT extern char *dln_argv0; @@ -63,10 +63,12 @@ char *dln_argv0; char *getenv(); #endif -static char *dln_find_1(const char *fname, const char *path, char *buf, size_t size, int exe_flag); char * -dln_find_exe_r(const char *fname, const char *path, char *buf, size_t size) { char *envpath = 0; @@ -82,21 +84,23 @@ dln_find_exe_r(const char *fname, const char *path, char *buf, size_t size) path = "/usr/local/bin:/usr/ucb:/usr/bin:/bin:."; #endif } - buf = dln_find_1(fname, path, buf, size, 1); if (envpath) free(envpath); return buf; } char * -dln_find_file_r(const char *fname, const char *path, char *buf, size_t size) { if (!path) path = "."; - return dln_find_1(fname, path, buf, size, 0); } static char * dln_find_1(const char *fname, const char *path, char *fbuf, size_t size, - int exe_flag /* non 0 if looking for executable. */) { register const char *dp; register const char *ep; |