@@ -609,16 +609,20 @@ TSRM_API int pclose(FILE *stream)
609
609
return termstat ;
610
610
}/*}}}*/
611
611
612
+ #define SEGMENT_PREFIX "TSRM_SHM_SEGMENT:"
613
+ #define DESCRIPTOR_PREFIX "TSRM_SHM_DESCRIPTOR:"
614
+ #define INT_MIN_AS_STRING "-2147483648"
615
+
612
616
TSRM_API int shmget (key_t key , size_t size , int flags )
613
617
{/*{{{*/
614
618
shm_pair * shm ;
615
- char shm_segment [26 ], shm_info [29 ];
619
+ char shm_segment [sizeof ( SEGMENT_PREFIX INT_MIN_AS_STRING ) ], shm_info [sizeof ( DESCRIPTOR_PREFIX INT_MIN_AS_STRING ) ];
616
620
HANDLE shm_handle = NULL , info_handle = NULL ;
617
621
BOOL created = FALSE;
618
622
619
623
if (key != IPC_PRIVATE ) {
620
- snprintf (shm_segment , sizeof (shm_segment ), "TSRM_SHM_SEGMENT: %d" , key );
621
- snprintf (shm_info , sizeof (shm_info ), "TSRM_SHM_DESCRIPTOR: %d" , key );
624
+ snprintf (shm_segment , sizeof (shm_segment ), SEGMENT_PREFIX " %d" , key );
625
+ snprintf (shm_info , sizeof (shm_info ), DESCRIPTOR_PREFIX " %d" , key );
622
626
623
627
shm_handle = OpenFileMapping (FILE_MAP_ALL_ACCESS , FALSE, shm_segment );
624
628
info_handle = OpenFileMapping (FILE_MAP_ALL_ACCESS , FALSE, shm_info );
0 commit comments