From 96578d178ccee8f591b01ea4762bec8a0112a8ad Mon Sep 17 00:00:00 2001 From: w1gz Date: Wed, 6 Sep 2017 23:50:13 +0200 Subject: Fallback to latin1 when we're not dealing with valid unicode --- lib/exirc/utils.ex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/exirc/utils.ex') diff --git a/lib/exirc/utils.ex b/lib/exirc/utils.ex index 2573cc3..46cba11 100644 --- a/lib/exirc/utils.ex +++ b/lib/exirc/utils.ex @@ -76,7 +76,13 @@ defmodule ExIrc.Utils do |> Enum.filter(fn arg -> arg != [] end) |> Enum.map(&trim_crlf/1) |> Enum.map(&:binary.list_to_bin/1) - |> Enum.map(&:unicode.characters_to_binary/1) + |> Enum.map(fn(s) -> + case String.valid?(s) do + true -> :unicode.characters_to_binary(s) + false -> :unicode.characters_to_binary(s, :latin1, :unicode) + end + end) + post_process(%{msg | args: args}) end -- cgit v1.2.3