Bugfixes
authorMatthew Mondor <mmondor@pulsar-zone.net>
Fri, 27 Oct 2006 05:20:07 +0000 (05:20 +0000)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Fri, 27 Oct 2006 05:20:07 +0000 (05:20 +0000)
mmsoftware/js/classes/js_file.c

index fe041f7..e1d2010 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: js_file.c,v 1.7 2006/10/21 05:44:46 mmondor Exp $ */
+/* $Id: js_file.c,v 1.8 2006/10/27 05:20:07 mmondor Exp $ */
 
 /*
  * Copyright (c) 2006, Matthew Mondor
@@ -948,6 +948,7 @@ static JSBool
 file_m_eof(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 {
        file_t  *f;
+       int     v;
 
        *rval = OBJECT_TO_JSVAL(NULL);
        
@@ -963,7 +964,8 @@ file_m_eof(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
                return JS_FALSE;
        }
 
-       *rval = JSVAL_TO_BOOLEAN(feof(f->fh));
+       v = feof(f->fh);
+       *rval = BOOLEAN_TO_JSVAL((JSBool)v);
 
        return JS_TRUE;
 }
@@ -973,6 +975,7 @@ file_m_error(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
     jsval *rval)
 {
        file_t  *f;
+       int     v;
 
        *rval = OBJECT_TO_JSVAL(NULL);
        
@@ -988,7 +991,8 @@ file_m_error(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
                return JS_FALSE;
        }
 
-       *rval = JSVAL_TO_BOOLEAN(ferror(f->fh));
+       v = ferror(f->fh);
+       *rval = BOOLEAN_TO_JSVAL((JSBool)v);
 
        return JS_TRUE;
 }
@@ -998,6 +1002,7 @@ file_m_fileno(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
     jsval *rval)
 {
        file_t  *f;
+       int     v;
 
        *rval = OBJECT_TO_JSVAL(NULL);
 
@@ -1013,7 +1018,8 @@ file_m_fileno(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
                return JS_FALSE;
        }
 
-       *rval = JSVAL_TO_INT(fileno(f->fh));
+       v = fileno(f->fh);
+       *rval = INT_TO_JSVAL(v);
 
        return JS_TRUE;
 }
@@ -1083,7 +1089,8 @@ file_m_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
                }
        }
 
-       if ((str = JS_NewStringCopyN(cx, read_charbuf, tsize)) == NULL) {
+       if ((str = JS_NewStringCopyN(cx, read_charbuf, rsize * size))
+           == NULL) {
                QUEUE_EXCEPTION("Internal error!");
                return JS_FALSE;
        }