diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index 57150086360b4fc697203ed21059b6051ca398b9..1600bb940ec607bbfa030a9831655e63c62c4d27 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -274,7 +274,7 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) size_t size=sizeof(DWORD); private_t* p; - *rval = JSVAL_NULL; + *rval = JSVAL_TO_INT(-1); if((p=(private_t*)JS_GetPrivate(cx,obj))==NULL) return(JS_FALSE); @@ -287,16 +287,16 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) switch(size) { case sizeof(BYTE): - fread(&b,1,size,p->fp); - *rval = INT_TO_JSVAL(b); + if(fread(&b,1,size,p->fp)==size) + *rval = INT_TO_JSVAL(b); break; case sizeof(WORD): - fread(&w,1,size,p->fp); - *rval = INT_TO_JSVAL(w); + if(fread(&w,1,size,p->fp)==size) + *rval = INT_TO_JSVAL(w); break; case sizeof(DWORD): - fread(&l,1,size,p->fp); - *rval = INT_TO_JSVAL(l); + if(fread(&l,1,size,p->fp)==size) + *rval = INT_TO_JSVAL(l); break; }