@@ -78,23 +78,23 @@ STATIC mp_obj_t usb_midi_enable(void) {
78
78
}
79
79
MP_DEFINE_CONST_FUN_OBJ_0 (usb_midi_enable_obj , usb_midi_enable );
80
80
81
- STATIC void set_name (mp_obj_t * arg_obj , qstr arg_name , char * * custom_name ) {
82
- if (* arg_obj == mp_const_none ) {
83
- return ;
84
- }
85
81
86
- mp_buffer_info_t name ;
87
- mp_get_buffer_raise (* arg_obj , & name , MP_BUFFER_READ );
88
- mp_arg_validate_length_range (name .len , 1 , 126 , arg_name );
82
+ static void set_name (mp_obj_t name_obj , qstr arg_name_qstr , char * * custom_name_p ) {
83
+ if (name_obj != mp_const_none ) {
84
+ mp_buffer_info_t name ;
85
+ mp_get_buffer_raise (name_obj , & name , MP_BUFFER_READ );
86
+ mp_arg_validate_length_range (name .len , 1 , 126 , arg_name_qstr );
89
87
90
- if (* custom_name == NULL ) {
91
- * custom_name = port_malloc (sizeof (char ) * 128 , false);
92
- }
88
+ if (* custom_name_p == NULL ) {
89
+ * custom_name_p = port_malloc (sizeof (char ) * 128 , false);
90
+ }
93
91
94
- memcpy (* custom_name , name .buf , name .len );
95
- * custom_name [name .len ] = 0 ;
92
+ memcpy (* custom_name_p , name .buf , name .len );
93
+ (* custom_name_p )[name .len ] = 0 ;
94
+ }
96
95
}
97
96
97
+
98
98
//| def set_names(
99
99
//| self,
100
100
//| *,
@@ -117,24 +117,27 @@ STATIC void set_name(mp_obj_t *arg_obj, qstr arg_name, char **custom_name) {
117
117
//| ...
118
118
//|
119
119
STATIC mp_obj_t usb_midi_set_names (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
120
+ enum { ARG_streaming_interface_name , ARG_audio_control_interface_name , ARG_in_jack_name , ARG_out_jack_name };
120
121
static const mp_arg_t allowed_args [] = {
121
- { MP_QSTR_streaming_interface_name , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_rom_obj = mp_const_none } },
122
+ { MP_QSTR_streaming_interface_name , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_rom_obj = mp_const_none } },
122
123
{ MP_QSTR_audio_control_interface_name , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_rom_obj = mp_const_none } },
123
- { MP_QSTR_in_jack_name , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_rom_obj = mp_const_none } },
124
- { MP_QSTR_out_jack_name , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_rom_obj = mp_const_none } },
124
+ { MP_QSTR_in_jack_name , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_rom_obj = mp_const_none } },
125
+ { MP_QSTR_out_jack_name , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_rom_obj = mp_const_none } },
125
126
};
126
- struct {
127
- mp_arg_val_t streaming_interface_name ;
128
- mp_arg_val_t audio_control_interface_name ;
129
- mp_arg_val_t in_jack_name ;
130
- mp_arg_val_t out_jack_name ;
131
- } args ;
127
+ mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
132
128
mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , (mp_arg_val_t * )& args );
133
129
134
- set_name (& (args .streaming_interface_name .u_obj ), MP_QSTR_streaming_interface_name , & custom_usb_midi_streaming_interface_name );
135
- set_name (& (args .audio_control_interface_name .u_obj ), MP_QSTR_audio_control_interface_name , & custom_usb_midi_audio_control_interface_name );
136
- set_name (& (args .in_jack_name .u_obj ), MP_QSTR_in_jack_name , & custom_usb_midi_in_jack_name );
137
- set_name (& (args .out_jack_name .u_obj ), MP_QSTR_out_jack_name , & custom_usb_midi_out_jack_name );
130
+ mp_obj_t streaming_interface_name_obj = args [ARG_streaming_interface_name ].u_obj ;
131
+ set_name (streaming_interface_name_obj , MP_QSTR_streaming_interface_name , & custom_usb_midi_streaming_interface_name );
132
+
133
+ mp_obj_t audio_control_interface_name_obj = args [ARG_audio_control_interface_name ].u_obj ;
134
+ set_name (audio_control_interface_name_obj , MP_QSTR_audio_control_interface_name , & custom_usb_midi_audio_control_interface_name );
135
+
136
+ mp_obj_t in_jack_name_obj = args [ARG_in_jack_name ].u_obj ;
137
+ set_name (in_jack_name_obj , MP_QSTR_in_jack_name , & custom_usb_midi_in_jack_name );
138
+
139
+ mp_obj_t out_jack_name_obj = args [ARG_out_jack_name ].u_obj ;
140
+ set_name (out_jack_name_obj , MP_QSTR_out_jack_name , & custom_usb_midi_out_jack_name );
138
141
139
142
return mp_const_none ;
140
143
}
0 commit comments