(chmod(pathname, dir_mode) != 0) ||
pirstat pr_init(sys, pr, sp)char *sys;char *pr;char**sp;{int    dir_mode = 0777;int rc;	*sp = &pathname[0];	pathname[0] = '\0';	if(suspicious(sys) || suspicious(pr))		return(PI_RES_FAIL);	/* get pathname of current directory and return to client */	(void)sprintf(pathname,"%s/%s",sp_name, sys);	(void)mkdir(sp_name, dir_mode);	/* ignore the return code */	(void)chmod(sp_name, dir_mode);	rc = mkdir(pathname, dir_mode);	/* DON'T ignore this return code */	if((rc < 0 && errno != EEXIST) ||	   (chmod(pathname, dir_mode) != 0) ||	   (stat(pathname, &statbuf) != 0) ||	   !(statbuf.st_mode & S_IFDIR)) {	   (void)sprintf(tempstr,		         "rpc.pcnfsd: unable to set up spool directory %s\n",		 	  pathname);            msg_out(tempstr);	    pathname[0] = '\0';	/* null to tell client bad vibes */	    return(PI_RES_FAIL);	    } 	if (!valid_pr(pr))            {	    pathname[0] = '\0';	/* null to tell client bad vibes */	    return(PI_RES_NO_SUCH_PRINTER);	    } 	return(PI_RES_OK);}