SH_DOOR_NAME
if ((SH_DOOR_NAME(shp) = strdup(door_name)) == NULL) {
if (stat(SH_DOOR_NAME(shp), ®_stat) != 0) {
if (unlink(SH_DOOR_NAME(shp)) != 0)
SH_DOOR_NAME(shp));
fd = open(SH_DOOR_NAME(shp), O_CREAT|O_RDWR,
(void) fdetach(SH_DOOR_NAME(shp));
if (fattach(SH_DOOR_DESC(shp), SH_DOOR_NAME(shp)) != 0) {
SH_DOOR_NAME(shp));
(void) fdetach(SH_DOOR_NAME(shp));
free(SH_DOOR_NAME(shp));
if ((SH_DOOR_NAME(shp) = strdup(door_name)) == NULL) {
if (unlink(SH_DOOR_NAME(shp)) != 0)
SH_DOOR_NAME(shp));
fd = open(SH_DOOR_NAME(shp), O_CREAT|O_RDWR, S_IREAD|S_IWRITE);
(void) fdetach(SH_DOOR_NAME(shp));
if (fattach(SH_DOOR_DESC(shp), SH_DOOR_NAME(shp)) != 0) {
(void) fdetach(SH_DOOR_NAME(shp));
free(SH_DOOR_NAME(shp));
(void) fdetach(SH_DOOR_NAME(shp));
free(SH_DOOR_NAME(shp));
(void) fdetach(SH_DOOR_NAME(shp));
free(SH_DOOR_NAME(shp));