summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--configure.in2
-rw-r--r--io.c1
-rw-r--r--lib/rexml/encodings/US-ASCII.rb2
-rw-r--r--pack.c17
5 files changed, 18 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 4563fcb754..d90b777bb0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Dec 23 18:09:40 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * pack.c (pack_pack): remove unnecessary negative value check.
+ [ruby-dev:22329]
+
+ * io.c (rb_io_ungetc): need fflush before ungetc if write buffer
+ is filled. [ruby-dev:22330]
+
Tue Dec 23 17:26:55 2003 KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
* bcc32/Makefile.sub (config.h): bcc has finite(). [ruby-list:38940]
diff --git a/configure.in b/configure.in
index 59389bd378..5f1f1fc5b7 100644
--- a/configure.in
+++ b/configure.in
@@ -906,7 +906,7 @@ if test "$with_dln_a_out" != yes; then
aix*) : ${LDSHARED='/usr/ccs/bin/ld'}
XLDFLAGS="$XLDFLAGS -Wl,-bE:ruby.imp"
DLDFLAGS="$DLDFLAGS "'-brtl -eInit_$(TARGET) -bI:$(topdir)/ruby.imp -bM:SRE -T512 -H512 -lc'
- LDFLAGS="$LDFLAGS -brtl"
+ : LDFLAGS="$LDFLAGS -brtl"
: ${ARCHFILE="ruby.imp"}
rb_cv_dlopen=yes ;;
diff --git a/io.c b/io.c
index 19690ddc4d..87caa7651f 100644
--- a/io.c
+++ b/io.c
@@ -1315,6 +1315,7 @@ rb_io_ungetc(io, c)
GetOpenFile(io, fptr);
rb_io_check_readable(fptr);
+ flush_before_seek(fptr);
if (ungetc(cc, fptr->f) == EOF && cc != EOF)
rb_sys_fail(fptr->path);
diff --git a/lib/rexml/encodings/US-ASCII.rb b/lib/rexml/encodings/US-ASCII.rb
index 32ddfbc909..3b76080399 100644
--- a/lib/rexml/encodings/US-ASCII.rb
+++ b/lib/rexml/encodings/US-ASCII.rb
@@ -18,7 +18,7 @@ module REXML
# Convert to UTF-8
def decode(str)
- str.unpack('C*').pack('U*')
+b str.unpack('C*').pack('U*')
end
EOL
end
diff --git a/pack.c b/pack.c
index ab9b4b65e9..1c9f2f2b2c 100644
--- a/pack.c
+++ b/pack.c
@@ -90,7 +90,7 @@ TOKEN_PASTE(swap,x)(z) \
|(((x)&0x0000FF00)<<8) \
|(((x)&0x00FF0000)>>8) )
#else
-define_swapx(s,short);
+define_swapx(s,short)
#endif
#endif
@@ -113,7 +113,7 @@ define_swapx(s,short);
|(((x)&0x00000000FF000000)<<8) \
|(((x)&0x000000FF00000000)>>8))
#else
-define_swapx(l,long);
+define_swapx(l,long)
#endif
#endif
@@ -126,11 +126,11 @@ define_swapx(l,long);
#define swapf(x) swaps(x)
#define FLOAT_SWAPPER unsigned short
#else /* SIZEOF_FLOAT == 4 but undivide by known size of int */
-define_swapx(f,float);
+define_swapx(f,float)
#endif /* #if SIZEOF_SHORT == 4 */
#endif /* #if SIZEOF_LONG == 4 */
#else /* SIZEOF_FLOAT != 4 */
-define_swapx(f,float);
+define_swapx(f,float)
#endif /* #if SIZEOF_FLOAT == 4 */
#if SIZEOF_DOUBLE == 8
@@ -174,12 +174,12 @@ swapd(d)
return dtmp;
}
#else /* SIZEOF_DOUBLE == 8 but undivied by known size of int */
-define_swapx(d, double);
+define_swapx(d, double)
#endif /* #if SIZEOF_SHORT == 4 */
#endif /* #if SIZEOF_LONG == 4 */
#endif /* #if SIZEOF_LONG == 8 */
#else /* SIZEOF_DOUBLE != 8 */
-define_swapx(d, double);
+define_swapx(d, double)
#endif /* #if SIZEOF_DPOUBLE == 8 */
#undef define_swapx
@@ -929,10 +929,7 @@ pack_pack(ary, fmt)
from = NEXTFROM;
if (NIL_P(from)) l = 0;
else {
- l = NUM2ULONG(from);
- }
- if (l < 0) {
- rb_raise(rb_eArgError, "pack(U): negative value");
+ l = NUM2UINT(from);
}
le = uv_to_utf8(buf, l);
rb_str_buf_cat(res, (char*)buf, le);