if (*string > ' ' && *string != '\\' && *string < '\177')
(void) fprintf(fp, "%c", *string++);
else
- (void) fprintf(fp, "\\%03o", *string++);
+ (void) fprintf(fp, "\\%03o", (unsigned char)*string++);
}
}
case S_IFDIR:
symbol = '/';
break;
+#ifdef S_IFDOOR
case S_IFDOOR:
symbol = '>';
break;
+#endif
case S_IFIFO:
symbol = '|';
break;
case S_IFLNK:
symbol = '@';
break;
+#ifdef S_IFPORT
case S_IFPORT:
symbol = 'P';
break;
+#endif
case S_IFSOCK:
symbol = '=';
break;
if ((ofp = fdopen(di->outputfd, "w")) == NULL) {
di->zerr = errno;
- (void) strerror_r(errno, di->errbuf, sizeof (di->errbuf));
+ strncpy(di->errbuf, strerror(errno), sizeof (di->errbuf));
(void) close(di->datafd);
return ((void *)-1);
}