2
2
@ {
3
3
from collections import OrderedDict
4
4
from rosidl_generator_c import escape_string
5
+ from rosidl_generator_c import escape_utf8
5
6
from rosidl_generator_c import idl_structure_type_to_c_include_prefix
6
7
from rosidl_generator_c import type_hash_to_c_definition
7
8
from rosidl_parser .definition import NamespacedType
@@ -26,11 +27,6 @@ def static_seq(varname, values):
26
27
return f' {{{varname}, {len(values)}, {len(values)}}}'
27
28
return ' {NULL, 0, 0}'
28
29
29
- def utf8_encode (value_string):
30
- from rosidl_generator_c import escape_string
31
- # Slice removes the b'' from the representation.
32
- return escape_string (repr (value_string .encode (' utf-8' ))[2 : - 1 ])
33
-
34
30
implicit_type_names = set (td[' type_description' ][' type_name' ] for td, _ in implicit_type_descriptions)
35
31
includes = OrderedDict ()
36
32
toplevel_msg, _ = toplevel_type_description
@@ -98,7 +94,7 @@ ref_tds = msg['referenced_type_descriptions']
98
94
@ [ for field in itype_description[' fields' ]]@
99
95
static char @ (td_c_typename)__FIELD_NAME__@ (field[' name' ])[] = " @(field['name'])" ;
100
96
@ [ if field[' default_value' ]]@
101
- static char @ (td_c_typename)__DEFAULT_VALUE__@ (field[' name' ])[] = " @(utf8_encode( field['default_value']))" ;
97
+ static char @ (td_c_typename)__DEFAULT_VALUE__@ (field[' name' ])[] = " @(escape_utf8(escape_string( field['default_value']) ))" ;
102
98
@ [ end if ]@
103
99
@ [ end for ]@
104
100
@@ -167,9 +163,9 @@ c_typename = typename_to_c(ref_td['type_name'])
167
163
@ [if raw_source_content]@
168
164
static char toplevel_type_raw_source[] = @
169
165
@ [ for line in raw_source_content .splitlines ()[: - 1 ]]
170
- " @(utf8_encode( line))\n " @
166
+ " @(escape_utf8(escape_string( line) ))\n " @
171
167
@ [ end for ]
172
- " @(utf8_encode( raw_source_content.splitlines()[-1]))" ;
168
+ " @(escape_utf8(escape_string( raw_source_content.splitlines()[-1]) ))" ;
173
169
@ [end if ]@
174
170
175
171
static char @ (toplevel_encoding)_encoding[] = " @(toplevel_encoding)" ;
0 commit comments