summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2018-06-25 14:49:10 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2018-06-25 14:49:10 -0700
commit9c4eb3ffd1402c04f053559eba32c290f80e7465 (patch)
treea6d01a8b7013666b5e2894a32ad84634cc007d58
parentbec29232c2b42609a4746f4df9141758af87287f (diff)
downloadchef-9c4eb3ffd1402c04f053559eba32c290f80e7465.tar.gz
remove some ruby 1.8.7-ismslcg/remove-187-isms
been a long, long time since we've needed to use iconv. this does not address the rest of dubiousness of this mixin, but just cleans out the old codepaths. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r--lib/chef/mixin/wide_string.rb28
1 files changed, 5 insertions, 23 deletions
diff --git a/lib/chef/mixin/wide_string.rb b/lib/chef/mixin/wide_string.rb
index ef7828e2d8..2fcb5caadb 100644
--- a/lib/chef/mixin/wide_string.rb
+++ b/lib/chef/mixin/wide_string.rb
@@ -31,40 +31,22 @@ class Chef
def utf8_to_wide(ustring)
# ensure it is actually UTF-8
# Ruby likes to mark binary data as ASCII-8BIT
- ustring = (ustring + "").force_encoding("UTF-8") if ustring.respond_to?(:force_encoding) && ustring.encoding.name != "UTF-8"
+ ustring = (ustring + "").force_encoding("UTF-8")
# ensure we have the double-null termination Windows Wide likes
ustring += "\000\000" if ustring.length == 0 || ustring[-1].chr != "\000"
# encode it all as UTF-16LE AKA Windows Wide Character AKA Windows Unicode
- ustring = begin
- if ustring.respond_to?(:encode)
- ustring.encode("UTF-16LE")
- else
- require "iconv"
- Iconv.conv("UTF-16LE", "UTF-8", ustring)
- end
- end
- ustring
+ ustring.encode("UTF-16LE")
end
def wide_to_utf8(wstring)
# ensure it is actually UTF-16LE
# Ruby likes to mark binary data as ASCII-8BIT
- wstring = wstring.force_encoding("UTF-16LE") if wstring.respond_to?(:force_encoding)
+ wstring = wstring.force_encoding("UTF-16LE")
- # encode it all as UTF-8
- wstring = begin
- if wstring.respond_to?(:encode)
- wstring.encode("UTF-8")
- else
- require "iconv"
- Iconv.conv("UTF-8", "UTF-16LE", wstring)
- end
- end
- # remove trailing CRLF and NULL characters
- wstring.strip!
- wstring
+ # encode it all as UTF-8 and remove trailing CRLF and NULL characters
+ wstring.encode("UTF-8").strip
end
end