Kaydet (Commit) 18c786cb authored tarafından Caolán McNamara's avatar Caolán McNamara

cast loses precision

Change-Id: Ic688f08cada4ae70ea1dfb1e29e249a166456452
üst 4348dfbd
...@@ -20,14 +20,14 @@ typedef struct _LibreOfficeKitDocument LibreOfficeKitDocument; ...@@ -20,14 +20,14 @@ typedef struct _LibreOfficeKitDocument LibreOfficeKitDocument;
// Do we have an extended member in this struct ? // Do we have an extended member in this struct ?
#define LIBREOFFICEKIT_HAS_MEMBER(strct,member,nSize) \ #define LIBREOFFICEKIT_HAS_MEMBER(strct,member,nSize) \
((((int)((unsigned char *)&((strct *) 0)->member) + \ ((((size_t)((unsigned char *)&((strct *) 0)->member) + \
(int)sizeof ((strct *) 0)->member)) <= (nSize)) sizeof ((strct *) 0)->member)) <= (nSize))
#define LIBREOFFICEKIT_HAS(pKit,member) LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKit,member,(pKit)->nSize) #define LIBREOFFICEKIT_HAS(pKit,member) LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKit,member,(pKit)->nSize)
struct _LibreOfficeKit struct _LibreOfficeKit
{ {
int nSize; size_t nSize;
void (*destroy) (LibreOfficeKit *pThis); void (*destroy) (LibreOfficeKit *pThis);
int (*initialize) (LibreOfficeKit *pThis, const char *pInstallPath); int (*initialize) (LibreOfficeKit *pThis, const char *pInstallPath);
...@@ -39,7 +39,7 @@ struct _LibreOfficeKit ...@@ -39,7 +39,7 @@ struct _LibreOfficeKit
struct _LibreOfficeKitDocument struct _LibreOfficeKitDocument
{ {
int nSize; size_t nSize;
void (*destroy) (LibreOfficeKitDocument* pThis); void (*destroy) (LibreOfficeKitDocument* pThis);
int (*saveAs) (LibreOfficeKitDocument* pThis, int (*saveAs) (LibreOfficeKitDocument* pThis,
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <assert.h> #include <assert.h>
#include <math.h> #include <math.h>
#include <sys/time.h> #include <sys/time.h>
#include <sal/types.h>
#include <LibreOfficeKit/LibreOfficeKit.hxx> #include <LibreOfficeKit/LibreOfficeKit.hxx>
using namespace ::lok; using namespace ::lok;
...@@ -77,9 +78,9 @@ int main (int argc, char **argv) ...@@ -77,9 +78,9 @@ int main (int argc, char **argv)
if (!LIBREOFFICEKIT_DOCUMENT_HAS(pDocument->get(), saveAsWithOptions)) if (!LIBREOFFICEKIT_DOCUMENT_HAS(pDocument->get(), saveAsWithOptions))
{ {
fprintf( stderr, "using obsolete LibreOffice %d + %d vs. %d\n", fprintf( stderr, "using obsolete LibreOffice %" SAL_PRI_SIZET "d + %" SAL_PRI_SIZET "d vs. %" SAL_PRI_SIZET "d\n",
(int)((unsigned char *)&((LibreOfficeKitDocument *) 0)->saveAsWithOptions), (size_t)((unsigned char *)&((LibreOfficeKitDocument *) 0)->saveAsWithOptions),
(int)sizeof ((LibreOfficeKitDocument *) 0)->saveAsWithOptions, sizeof ((LibreOfficeKitDocument *) 0)->saveAsWithOptions,
pDocument->get()->nSize ); pDocument->get()->nSize );
return -1; return -1;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment