Index: lib/SM/sm_process.c =================================================================== RCS file: /cvs/xorg/xc/lib/SM/sm_process.c,v retrieving revision 1.2 diff -u -p -r1.2 sm_process.c --- lib/SM/sm_process.c 23 Apr 2004 18:43:23 -0000 1.2 +++ lib/SM/sm_process.c 23 Sep 2004 12:49:53 -0000 @@ -481,6 +481,7 @@ Bool swap; smRegisterClientMsg *pMsg; char *pData, *pStart; char *previousId; + int idLen; #if 0 /* No-op */ CHECK_AT_LEAST_SIZE (iceConn, _SmsOpcode, opcode, @@ -506,7 +507,7 @@ Bool swap; pData = pStart; - EXTRACT_ARRAY8_AS_STRING (pData, swap, previousId); + EXTRACT_ARRAY8 (pData, swap, idLen, previousId); if (*previousId == '\0') { @@ -521,11 +522,8 @@ Bool swap; * The previoudId was bad. Generate BadValue error. */ - int length = previousId ? strlen (previousId) : 0; - int bytes = ARRAY8_BYTES (length); - _IceErrorBadValue (smsConn->iceConn, _SmsOpcode, SM_RegisterClient, - 8, bytes, (IcePointer) pStart); + 8, ARRAY8_BYTES (idLen), (IcePointer) pStart); } IceDisposeCompleteMessage (iceConn, pStart);