Index: win32_shmem.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/port/win32_shmem.c,v
retrieving revision 1.4
diff -c -r1.4 win32_shmem.c
*** win32_shmem.c	1 Jan 2008 19:45:51 -0000	1.4
--- win32_shmem.c	2 Jul 2008 16:44:40 -0000
***************
*** 47,64 ****
  		elog(FATAL, "could not get size for full pathname of datadir %s: %lu",
  			 DataDir, GetLastError());
  
! 	retptr = malloc(bufsize + 1 + 18);	/* 1 NULL and 18 for
  										 * Global\PostgreSQL: */
  	if (retptr == NULL)
  		elog(FATAL, "could not allocate memory for shared memory name");
  
  	strcpy(retptr, "Global\\PostgreSQL:");
! 	r = GetFullPathName(DataDir, bufsize, retptr + 11, NULL);
  	if (r == 0 || r > bufsize)
  		elog(FATAL, "could not generate full pathname for datadir %s: %lu",
  			 DataDir, GetLastError());
  
! 	for (cp = retptr; *cp; cp++)
  		if (*cp == '\\')
  			*cp = '/';
  
--- 47,64 ----
  		elog(FATAL, "could not get size for full pathname of datadir %s: %lu",
  			 DataDir, GetLastError());
  
! 	retptr = malloc(bufsize  + 18);		/* 1 NULL and 18 for
  										 * Global\PostgreSQL: */
  	if (retptr == NULL)
  		elog(FATAL, "could not allocate memory for shared memory name");
  
  	strcpy(retptr, "Global\\PostgreSQL:");
! 	r = GetFullPathName(DataDir, bufsize, retptr + 18, NULL);
  	if (r == 0 || r > bufsize)
  		elog(FATAL, "could not generate full pathname for datadir %s: %lu",
  			 DataDir, GetLastError());
  
! 	for (cp = retptr + 18; *cp; cp++)
  		if (*cp == '\\')
  			*cp = '/';
  
