summaryrefslogtreecommitdiffstats
path: root/cddl
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2016-03-21 00:27:00 +0000
committermav <mav@FreeBSD.org>2016-03-21 00:27:00 +0000
commit7b593e3e624439af1d6ad278b08a866330ef7844 (patch)
treec7ad193b14844d195f05815e6177470146a3802a /cddl
parentf67cd371824d652bfdc8672ded46607ca2ad3cd5 (diff)
downloadFreeBSD-src-7b593e3e624439af1d6ad278b08a866330ef7844.zip
FreeBSD-src-7b593e3e624439af1d6ad278b08a866330ef7844.tar.gz
MFC r296541: MFV r296540: 4448 zfs diff misprints unicode characters
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Matthew Ahrens <mahrens@delphix.com> Author: Joshua M. Clulow <jmc@joyent.com> illumos/illumos-gate@b211eb9181f99c20acbf4c528f94cb44b4ca8c31
Diffstat (limited to 'cddl')
-rw-r--r--cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
index bb49eba..28b1e2e 100644
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
@@ -22,6 +22,7 @@
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2015 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2016 Joyent, Inc.
*/
/*
@@ -136,12 +137,13 @@ get_stats_for_obj(differ_info_t *di, const char *dsname, uint64_t obj,
static void
stream_bytes(FILE *fp, const char *string)
{
- while (*string) {
- if (*string > ' ' && *string != '\\' && *string < '\177')
- (void) fprintf(fp, "%c", *string++);
- else {
- (void) fprintf(fp, "\\%03hho",
- (unsigned char)*string++);
+ char c;
+
+ while ((c = *string++) != '\0') {
+ if (c > ' ' && c != '\\' && c < '\177') {
+ (void) fprintf(fp, "%c", c);
+ } else {
+ (void) fprintf(fp, "\\%03o", (uint8_t)c);
}
}
}
OpenPOWER on IntegriCloud