Solution:
------
--- OLE.xs.bak 2014-05-14 18:33:28.553124500 +0200
+++ OLE.xs 2014-05-14 19:09:44.689074000 +0200
@@ -2374,16 +2374,16 @@
cDims = SafeArrayGetDim(psa);
AV **pav;
- long *pix;
+ LONG *pix;
long *plen;
New(0, pav, cDims, AV*);
- New(0, pix, cDims, long);
+ New(0, pix, cDims, LONG);
New(0, plen, cDims, long);
pav[0] = av;
plen[0] = av_len(pav[0])+1;
- Zero(pix, cDims, long);
+ Zero(pix, cDims, LONG);
VARIANT variant;
VARIANT *pElement = &variant;
@@ -2496,12 +2496,12 @@
IV dim = 1;
IV maxdim = 2;
AV **pav;
- unsigned long *pix;
+ LONG *pix;
unsigned long *plen;
SAFEARRAYBOUND *psab;
New(0, pav, maxdim, AV*);
- New(0, pix, maxdim, unsigned long);
+ New(0, pix, maxdim, LONG);
New(0, plen, maxdim, unsigned long);
New(0, psab, maxdim, SAFEARRAYBOUND);
@@ -2519,7 +2519,7 @@
if (++index >= maxdim) {
maxdim *= 2;
Renew(pav, maxdim, AV*);
- Renew(pix, maxdim, unsigned long);
+ Renew(pix, maxdim, LONG);
Renew(plen, maxdim, unsigned long);
Renew(psab, maxdim, SAFEARRAYBOUND);
}
@@ -2637,7 +2637,7 @@
char *pSrc = SvPV(sv, len);
HRESULT hr = SafeArrayAccessData(psa, (void**)&pDest);
if (SUCCEEDED(hr)) {
- long lLower, lUpper;
+ LONG lLower, lUpper;
SafeArrayGetLBound(psa, 1, &lLower);
SafeArrayGetUBound(psa, 1, &lUpper);
@@ -2888,7 +2888,7 @@
/* convert 1-dim UI1 ARRAY to simple SvPV */
if (vt_base == VT_UI1 && dim == 1) {
char *pStr;
- long lLower, lUpper;
+ LONG lLower, lUpper;
SafeArrayGetLBound(psa, 1, &lLower);
SafeArrayGetUBound(psa, 1, &lUpper);
@@ -2902,12 +2902,12 @@
}
AV **pav;
- long *pArrayIndex, *pLowerBound, *pUpperBound;
+ LONG *pArrayIndex, *pLowerBound, *pUpperBound;
New(0, pav, dim, AV*);
- New(0, pArrayIndex, dim, long);
- New(0, pLowerBound, dim, long);
- New(0, pUpperBound, dim, long);
+ New(0, pArrayIndex, dim, LONG);
+ New(0, pLowerBound, dim, LONG);
+ New(0, pUpperBound, dim, LONG);
IV index;
for (index = 0; index < dim; ++index) {
@@ -5386,8 +5386,8 @@
XSRETURN_EMPTY;
}
- long *rgIndices;
- New(0, rgIndices, cDims, long);
+ LONG *rgIndices;
+ New(0, rgIndices, cDims, LONG);
for (int iDim=0; iDim < cDims; ++iDim)
rgIndices[iDim] = (long)SvIV(ST(1+iDim));
@@ -5734,7 +5734,7 @@
HRESULT hr = S_OK;
int cDims = SafeArrayGetDim(psa);
for (int iDim=0; iDim < cDims; ++iDim) {
- long lLBound, lUBound;
+ LONG lLBound, lUBound;
hr = SafeArrayGetLBound(psa, 1+iDim, &lLBound);
if (FAILED(hr))
break;
@@ -5826,8 +5826,8 @@
XSRETURN_EMPTY;
}
- long *rgIndices;
- New(0, rgIndices, cDims, long);
+ LONG *rgIndices;
+ New(0, rgIndices, cDims, LONG);
for (int iDim=0; iDim < cDims; ++iDim)
rgIndices[iDim] = (long)SvIV(ST(1+iDim));
Message body is not shown because sender requested not to inline it.