- Also fixed error in %p printing of NULL
PUTCH('*'); PUTCH('0'); PUTCH('x');
for( len = BITS/4; len -- && ((ptr>>(len*4))&15) == 0; )
;
- for( len ++; len --; )
- PUTCH( cUCDIGITS[ (ptr>>(len*4))&15 ] );
+ len ++;
+ if( len == 0 )
+ PUTCH( '0' );
+ else
+ while( len -- )
+ PUTCH( cUCDIGITS[ (ptr>>(len*4))&15 ] );
continue ;
}
// Remove from list
tmp = cur->Messages;
cur->Messages = cur->Messages->Next;
+ // - Removed last message? Clear the end-of-list pointer
if(cur->Messages == NULL) cur->LastMessage = NULL;
+ // > Otherwise, re-mark the IPCMSG event flag
+ else cur->EventState |= THREAD_EVENT_IPCMSG;
SHORTREL( &cur->IsLocked );
-
+
free(tmp); // Free outside of lock
LEAVE('i', ret);