if(argc >= 1)
if (argc == 0 || argv[0] == JSVAL_NULL || !JSVAL_IS_OBJECT(argv[0]))
InstallFileOpFileGetSize(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){  nsInstall*   nativeThis = (nsInstall*)JS_GetPrivate(cx, obj);  PRUint32     nativeRet;  nsAutoString b0;  *rval = JSVAL_NULL;  // If there's no private data, this must be the prototype, so ignore  if(nsnull == nativeThis)  {    return JS_TRUE;  }  if(argc >= 1)  {    //  public int FileGetSize (String NativeFolderPath);    ConvertJSValToStr(b0, cx, argv[0]);    nsFileSpec fsB0(b0);    if(NS_OK != nativeThis->FileOpFileGetSize(fsB0, &nativeRet))    {      return JS_FALSE;    }    if ( nativeRet <= JSVAL_INT_MAX )      *rval = INT_TO_JSVAL(nativeRet);    else    {      JSInt64 l;      jsdouble d;      JSLL_UI2L( l, nativeRet );      JSLL_L2D( d, l );      JS_NewDoubleValue( cx, d, rval );    }  }  else  {    JS_ReportError(cx, "Function FileGetSize requires 1 parameter");    return JS_FALSE;  }  return JS_TRUE;}