summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--dln.c30
-rw-r--r--eval.c10
-rw-r--r--io.c2
-rw-r--r--ruby.c2
5 files changed, 30 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index da47ee189..f2c0b1fef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Mon Sep 12 19:58:53 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * dln.c: avoid warning of const to non-const convertion.
+ [ruby-dev:27041]
+
+ * eval.c, io.c, ruby.c: ditto.
+
Mon Sep 12 19:26:29 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* array.c: moved to ANSI function style from K&R function style.
diff --git a/dln.c b/dln.c
index 6a3f96968..33b1f6bd4 100644
--- a/dln.c
+++ b/dln.c
@@ -1603,7 +1603,7 @@ dln_load(const char *file)
return 0; /* dummy return */
}
-static char *dln_find_1(char *fname, char *path, int exe_flag);
+static char *dln_find_1(const char *fname, const char *path, int exe_flag);
char *
dln_find_exe(const char *fname, const char *path)
@@ -1665,31 +1665,33 @@ conv_to_posix_path(win32, posix, len)
static char fbuf[MAXPATHLEN];
static char *
-dln_find_1(char *fname, char *path, int exe_flag /* non 0 if looking for executable. */)
+dln_find_1(const char *fname, const char *path, int exe_flag /* non 0 if looking for executable. */)
{
- register char *dp;
- register char *ep;
+ register const char *dp;
+ register const char *ep;
register char *bp;
struct stat st;
#ifdef __MACOS__
const char* mac_fullpath;
#endif
- if (!fname) return fname;
- if (fname[0] == '/') return fname;
- if (strncmp("./", fname, 2) == 0 || strncmp("../", fname, 3) == 0)
- return fname;
- if (exe_flag && strchr(fname, '/')) return fname;
+#define RETURN_IF(expr) if (expr) return (char *)fname;
+
+ RETURN_IF(!fname);
+ RETURN_IF(fname[0] == '/');
+ RETURN_IF(strncmp("./", fname, 2) == 0 || strncmp("../", fname, 3) == 0);
+ RETURN_IF(exe_flag && strchr(fname, '/'));
#ifdef DOSISH
- if (fname[0] == '\\') return fname;
+ RETURN_IF(fname[0] == '\\');
# ifdef DOSISH_DRIVE_LETTER
- if (strlen(fname) > 2 && fname[1] == ':') return fname;
+ RETURN_IF(strlen(fname) > 2 && fname[1] == ':');
# endif
- if (strncmp(".\\", fname, 2) == 0 || strncmp("..\\", fname, 3) == 0)
- return fname;
- if (exe_flag && strchr(fname, '\\')) return fname;
+ RETURN_IF(strncmp(".\\", fname, 2) == 0 || strncmp("..\\", fname, 3) == 0);
+ RETURN_IF(exe_flag && strchr(fname, '\\'));
#endif
+#undef RETURN_IF
+
for (dp = path;; dp = ++ep) {
register int l;
int i;
diff --git a/eval.c b/eval.c
index ae9fe80dd..831b759a3 100644
--- a/eval.c
+++ b/eval.c
@@ -1045,7 +1045,7 @@ static VALUE module_setup _((VALUE,NODE*));
static VALUE massign _((VALUE,NODE*,VALUE,int));
static void assign _((VALUE,NODE*,VALUE,int));
-static int formal_assign _((VALUE, NODE*, int, VALUE*, VALUE*));
+static int formal_assign _((VALUE, NODE*, int, const VALUE*, VALUE*));
typedef struct event_hook {
rb_event_hook_func_t func;
@@ -5337,7 +5337,7 @@ static int last_call_status;
*/
static VALUE
-rb_method_missing(int argc, VALUE *argv, VALUE obj)
+rb_method_missing(int argc, const VALUE *argv, VALUE obj)
{
ID id;
VALUE exc = rb_eNoMethodError;
@@ -5412,7 +5412,7 @@ method_missing(VALUE obj, ID id, int argc, const VALUE *argv, int call_status)
}
static inline VALUE
-call_cfunc(VALUE (*func) (/* ??? */), VALUE recv, int len, int argc, VALUE *argv)
+call_cfunc(VALUE (*func) (/* ??? */), VALUE recv, int len, int argc, const VALUE *argv)
{
if (len >= 0 && argc != len) {
rb_raise(rb_eArgError, "wrong number of arguments (%d for %d)",
@@ -5496,7 +5496,7 @@ call_cfunc(VALUE (*func) (/* ??? */), VALUE recv, int len, int argc, VALUE *argv
}
static int
-formal_assign(VALUE recv, NODE *node, int argc, VALUE *argv, VALUE *local_vars)
+formal_assign(VALUE recv, NODE *node, int argc, const VALUE *argv, VALUE *local_vars)
{
int i;
int nopt = 0;
@@ -5569,7 +5569,7 @@ formal_assign(VALUE recv, NODE *node, int argc, VALUE *argv, VALUE *local_vars)
static VALUE
rb_call0(VALUE klass, VALUE recv, ID id, ID oid,
- int argc /* OK */, VALUE *argv /* OK */, NODE *volatile body, int flags)
+ int argc /* OK */, const VALUE *argv /* OK */, NODE *volatile body, int flags)
{
NODE *b2; /* OK */
volatile VALUE result = Qnil;
diff --git a/io.c b/io.c
index d7ee89713..549c1e43d 100644
--- a/io.c
+++ b/io.c
@@ -2632,7 +2632,7 @@ rb_file_open(const char *fname, const char *mode)
}
static VALUE
-rb_file_sysopen_internal(VALUE io, char *fname, int flags, int mode)
+rb_file_sysopen_internal(VALUE io, const char *fname, int flags, int mode)
{
OpenFile *fptr;
diff --git a/ruby.c b/ruby.c
index 7682d1e1a..4f6fdaddd 100644
--- a/ruby.c
+++ b/ruby.c
@@ -118,7 +118,7 @@ extern VALUE rb_load_path;
#if defined _WIN32 || defined __CYGWIN__ || defined __DJGPP__
static char *
-rubylib_mangle(char *s, unsigned int l)
+rubylib_mangle(const char *s, unsigned int l)
{
static char *newp, *oldp;
static int newl, oldl, notfound;