summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SMlibint.h20
-rw-r--r--src/sm_client.c6
2 files changed, 10 insertions, 16 deletions
diff --git a/src/SMlibint.h b/src/SMlibint.h
index 0569c3f..387f0bd 100644
--- a/src/SMlibint.h
+++ b/src/SMlibint.h
@@ -207,11 +207,9 @@ in this Software without prior written authorization from The Open Group.
#define STORE_ARRAY8(_pBuf, _len, _array8) \
{ \
STORE_CARD32 (_pBuf, _len); \
- if (_array8) \
- memcpy (_pBuf, _array8, _len); \
- _pBuf += _len; \
- if (PAD64 (4 + _len)) \
- _pBuf += PAD64 (4 + _len); \
+ if (_len) \
+ memcpy (_pBuf, _array8, _len); \
+ _pBuf += _len + PAD64 (4 + _len); \
}
#define STORE_LISTOF_PROPERTY(_pBuf, _count, _props) \
@@ -244,9 +242,7 @@ in this Software without prior written authorization from The Open Group.
_array8 = (char *) malloc (_len + 1); \
memcpy (_array8, _pBuf, _len); \
_array8[_len] = '\0'; \
- _pBuf += _len; \
- if (PAD64 (4 + _len)) \
- _pBuf += PAD64 (4 + _len); \
+ _pBuf += _len + PAD64 (4 + _len); \
}
#define EXTRACT_ARRAY8_AS_STRING(_pBuf, _swap, _string) \
@@ -256,9 +252,7 @@ in this Software without prior written authorization from The Open Group.
_string = (char *) malloc (_len + 1); \
memcpy (_string, _pBuf, _len); \
_string[_len] = '\0'; \
- _pBuf += _len; \
- if (PAD64 (4 + _len)) \
- _pBuf += PAD64 (4 + _len); \
+ _pBuf += _len + PAD64 (4 + _len); \
}
#define EXTRACT_LISTOF_PROPERTY(_pBuf, _swap, _count, _props) \
@@ -290,9 +284,7 @@ in this Software without prior written authorization from The Open Group.
{ \
CARD32 _len; \
EXTRACT_CARD32 (_pBuf, _swap, _len); \
- _pBuf += _len; \
- if (PAD64 (4 + _len)) \
- _pBuf += PAD64 (4 + _len); \
+ _pBuf += _len + PAD64 (4 + _len); \
}
#define SKIP_LISTOF_PROPERTY(_pBuf, _swap) \
diff --git a/src/sm_client.c b/src/sm_client.c
index 778a740..de79452 100644
--- a/src/sm_client.c
+++ b/src/sm_client.c
@@ -197,7 +197,9 @@ char *errorStringRet;
* Now register the client
*/
- len = previousId ? strlen (previousId) : 0;
+ if (!previousId)
+ previousId = "";
+ len = strlen (previousId);
extra = ARRAY8_BYTES (len);
IceGetHeaderExtra (iceConn, _SmcOpcode, SM_RegisterClient,
@@ -263,7 +265,7 @@ char *errorStringRet;
SIZEOF (smRegisterClientMsg), WORD64COUNT (extra),
smRegisterClientMsg, pMsg, pData);
- STORE_ARRAY8 (pData, 0, NULL);
+ STORE_ARRAY8 (pData, 0, "");
IceFlush (iceConn);