--- lib/font.c.orig Sun Apr 2 18:56:50 2000 +++ lib/font.c Sun Apr 2 18:57:54 2000 @@ -35,6 +35,7 @@ struct shmid_ds shmseg; shmkey = ftok(CONFIG_NAME, fnum); + shmkey = 5000 + (fnum & 0x7F); if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0) return; shmctl(shmid, IPC_STAT, &shmseg); @@ -50,6 +51,7 @@ int shmid; shmkey = ftok(CONFIG_NAME, fnum); + shmkey = 5000 + (fnum & 0x7F); if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0) return(0); return((u_char*)shmat(shmid, 0, SHM_RDONLY)); } --- fld/fld.c.orig Sun Apr 2 18:59:37 2000 +++ fld/fld.c Sun Apr 2 19:01:18 2000 @@ -55,7 +55,7 @@ int shmid; struct shmid_ds shmseg; - shmkey = ftok(CONFIG_NAME, fnum); + shmkey = 5000 + (fnum & 0x7F); if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0) return; shmctl(shmid, IPC_STAT, &shmseg); @@ -70,7 +70,7 @@ extern int forceLoad; if (forceLoad) return(EOF); - shmkey = ftok(SHMEM_NAME, fnum); + shmkey = 5000 + (fnum & 0x7F); if (shmget(shmkey, 1, 0444) == EOF) return(EOF); return(0); } @@ -82,7 +82,7 @@ int shmid; u_char *shmbuff; - shmkey = ftok(SHMEM_NAME, fi->type); + shmkey = 5000 + (fi->type & 0x0000007F); shmid = shmget(shmkey, fi->size+sizeof(struct fontInfo), IPC_CREAT|0666); fprintf( stderr,"%ld\n",fi->size+sizeof(struct fontInfo) ); @@ -120,7 +120,7 @@ int shmid; struct fontInfo *fi; - shmkey = ftok(CONFIG_NAME, fnum); + shmkey = 5000 + (fnum & 0x7F); if ((shmid = shmget(shmkey, sizeof(struct fontInfo), 0444)) < 0) return(0); fi = (struct fontInfo*)shmat(shmid, 0, SHM_RDONLY);