X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=lib%2Flibzfs%2Flibzfs_diff.c;h=77d5a09ec63cd65a71494614c1d50737f583599d;hb=3f4058cd15545a83b4e6e50cd7e29af45b54054a;hp=31e18aad27a0b36ccff9fb13e4ea0d3c29ccc64f;hpb=325f023544bbec6a478882c442e15304ee379759;p=zfs.git diff --git a/lib/libzfs/libzfs_diff.c b/lib/libzfs/libzfs_diff.c index 31e18aa..77d5a09 100644 --- a/lib/libzfs/libzfs_diff.c +++ b/lib/libzfs/libzfs_diff.c @@ -141,7 +141,7 @@ stream_bytes(FILE *fp, const char *string) if (*string > ' ' && *string != '\\' && *string < '\177') (void) fprintf(fp, "%c", *string++); else - (void) fprintf(fp, "\\%03o", *string++); + (void) fprintf(fp, "\\%03o", (unsigned char)*string++); } } @@ -160,18 +160,22 @@ print_what(FILE *fp, mode_t what) 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; @@ -426,7 +430,7 @@ differ(void *arg) 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); }