From 8d8f56da0a6f01eb7f18c013eee05f3257ff2108 Mon Sep 17 00:00:00 2001 From: Marco Bonardo Date: Tue, 22 Jun 2010 02:01:33 +0200 Subject: [PATCH] Bug 547190 - AsInt64 (and other AsXXX cpp helpers) ignores GetInt64 failures. r=asuth --- storage/public/mozIStorageStatement.idl | 27 +++++++++++++++--------- storage/public/mozIStorageValueArray.idl | 27 +++++++++++++++--------- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/storage/public/mozIStorageStatement.idl b/storage/public/mozIStorageStatement.idl index f74eacbec9d..a47885c5d04 100644 --- a/storage/public/mozIStorageStatement.idl +++ b/storage/public/mozIStorageStatement.idl @@ -264,44 +264,51 @@ interface mozIStorageStatement : mozIStorageBaseStatement { */ inline PRInt32 AsInt32(PRUint32 idx) { - PRInt32 v; - GetInt32(idx, &v); + PRInt32 v = 0; + nsresult rv = GetInt32(idx, &v); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return v; } inline PRInt64 AsInt64(PRUint32 idx) { - PRInt64 v; - GetInt64(idx, &v); + PRInt64 v = 0; + nsresult rv = GetInt64(idx, &v); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return v; } inline double AsDouble(PRUint32 idx) { - double v; - GetDouble(idx, &v); + double v = 0.0; + nsresult rv = GetDouble(idx, &v); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return v; } inline const char* AsSharedUTF8String(PRUint32 idx, PRUint32 *len) { const char *str = nsnull; - GetSharedUTF8String(idx, len, &str); + nsresult rv = GetSharedUTF8String(idx, len, &str); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return str; } inline const PRUnichar* AsSharedWString(PRUint32 idx, PRUint32 *len) { const PRUnichar *str = nsnull; - GetSharedString(idx, len, &str); + nsresult rv = GetSharedString(idx, len, &str); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return str; } inline const PRUint8* AsSharedBlob(PRUint32 idx, PRUint32 *len) { const PRUint8 *blob = nsnull; - GetSharedBlob(idx, len, &blob); + nsresult rv = GetSharedBlob(idx, len, &blob); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return blob; } inline PRBool IsNull(PRUint32 idx) { PRBool b = PR_FALSE; - GetIsNull(idx, &b); + nsresult rv = GetIsNull(idx, &b); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return b; } diff --git a/storage/public/mozIStorageValueArray.idl b/storage/public/mozIStorageValueArray.idl index c43b9466465..8398a994abd 100644 --- a/storage/public/mozIStorageValueArray.idl +++ b/storage/public/mozIStorageValueArray.idl @@ -110,44 +110,51 @@ interface mozIStorageValueArray : nsISupports { */ inline PRInt32 AsInt32(PRUint32 idx) { - PRInt32 v; - GetInt32(idx, &v); + PRInt32 v = 0; + nsresult rv = GetInt32(idx, &v); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return v; } inline PRInt64 AsInt64(PRUint32 idx) { - PRInt64 v; - GetInt64(idx, &v); + PRInt64 v = 0; + nsresult rv = GetInt64(idx, &v); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return v; } inline double AsDouble(PRUint32 idx) { - double v; - GetDouble(idx, &v); + double v = 0.0; + nsresult rv = GetDouble(idx, &v); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return v; } inline const char* AsSharedUTF8String(PRUint32 idx, PRUint32 *len) { const char *str = nsnull; - GetSharedUTF8String(idx, len, &str); + nsresult rv = GetSharedUTF8String(idx, len, &str); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return str; } inline const PRUnichar* AsSharedWString(PRUint32 idx, PRUint32 *len) { const PRUnichar *str = nsnull; - GetSharedString(idx, len, &str); + nsresult rv = GetSharedString(idx, len, &str); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return str; } inline const PRUint8* AsSharedBlob(PRUint32 idx, PRUint32 *len) { const PRUint8 *blob = nsnull; - GetSharedBlob(idx, len, &blob); + nsresult rv = GetSharedBlob(idx, len, &blob); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return blob; } inline PRBool IsNull(PRUint32 idx) { PRBool b = PR_FALSE; - GetIsNull(idx, &b); + nsresult rv = GetIsNull(idx, &b); + NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Getting value failed, wrong column index?"); return b; }