From df3cdaf89fc5a98ae9f2103a364c51ccdfc9ab5b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 1 Jan 2021 16:35:37 +0100 Subject: [PATCH] implement 7bit alphabet encoding Change-Id: Ia3da7638c88a746259944198267af01b311ef630 --- src/charset.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/charset.c b/src/charset.c index 8f66585..a93198e 100644 --- a/src/charset.c +++ b/src/charset.c @@ -21,6 +21,7 @@ */ #include +#include #include #include "charset.h" @@ -28,17 +29,17 @@ /* return number of output bytes written */ int charset_utf8_to_gsm7(char *out, size_t out_len, const char *in, size_t in_len) { - /* FIXME: implement this */ - osmo_strlcpy(out, in, out_len); - return in_len; + int octets; + /* FIXME: implement this for 'escape' characters outside 7bit alphabet */ + gsm_7bit_encode_n_ussd(out, out_len, in, &octets); + return octets; } /* return number of output bytes written */ int charset_gsm7_to_utf8(char *out, size_t out_len, const char *in, size_t in_len) { - /* FIXME: implement this */ - osmo_strlcpy(out, in, out_len); - return in_len; + /* FIXME: implement this for 'escape' characters outside 7bit alphabet */ + return gsm_7bit_decode_n_ussd(out, out_len, in, in_len); }