summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/gdbm/gdbm.c6
-rw-r--r--ruby.h2
2 files changed, 5 insertions, 3 deletions
diff --git a/ext/gdbm/gdbm.c b/ext/gdbm/gdbm.c
index fba4d23866..0fa13a5e67 100644
--- a/ext/gdbm/gdbm.c
+++ b/ext/gdbm/gdbm.c
@@ -167,7 +167,7 @@ rb_gdbm_fetch(dbm, key)
RSTRING(str)->ptr = 0;
RSTRING(str)->len = val.dsize;
- RSTRING(str)->orig = 0;
+ RSTRING(str)->aux.capa = val.dsize;
RSTRING(str)->ptr = REALLOC_N(val.dptr,char,val.dsize+1);
RSTRING(str)->ptr[val.dsize] = '\0';
@@ -214,7 +214,7 @@ rb_gdbm_firstkey(dbm)
RSTRING(str)->ptr = 0;
RSTRING(str)->len = key.dsize;
- RSTRING(str)->orig = 0;
+ RSTRING(str)->aux.capa = key.dsize;
RSTRING(str)->ptr = REALLOC_N(key.dptr,char,key.dsize+1);
RSTRING(str)->ptr[RSTRING(str)->len] = '\0';
@@ -238,7 +238,7 @@ rb_gdbm_nextkey(dbm, keystr)
RSTRING(str)->ptr = 0;
RSTRING(str)->len = key2.dsize;
- RSTRING(str)->orig = 0;
+ RSTRING(str)->aux.capa = key2.dsize;
RSTRING(str)->ptr = REALLOC_N(key2.dptr,char,key2.dsize+1);
RSTRING(str)->ptr[RSTRING(str)->len] = '\0';
diff --git a/ruby.h b/ruby.h
index d1f48959f5..31a147fcc9 100644
--- a/ruby.h
+++ b/ruby.h
@@ -35,6 +35,7 @@ extern "C" {
#include <stdio.h>
/* need to include <ctype.h> to use these macros */
+#ifndef ISPRINT
#define ISASCII(c) isascii((unsigned char)(c))
#undef ISPRINT
#define ISPRINT(c) (ISASCII(c) && isprint((unsigned char)(c)))
@@ -45,6 +46,7 @@ extern "C" {
#define ISALPHA(c) (ISASCII(c) && isalpha((unsigned char)(c)))
#define ISDIGIT(c) (ISASCII(c) && isdigit((unsigned char)(c)))
#define ISXDIGIT(c) (ISASCII(c) && isxdigit((unsigned char)(c)))
+#endif
#if !defined(__STDC__) && !defined(_MSC_VER)
# define volatile