3737#include "lib/mp-readline/readline.h"
3838#endif
3939
40+ #if MICROPY_USE_READLINE == 0
4041char * prompt (char * p ) {
41- #if MICROPY_USE_READLINE == 1
42- // MicroPython supplied readline
43- vstr_t vstr ;
44- vstr_init (& vstr , 16 );
45- mp_hal_stdio_mode_raw ();
46- int ret = readline (& vstr , p );
47- mp_hal_stdio_mode_orig ();
48- if (ret != 0 ) {
49- vstr_clear (& vstr );
50- if (ret == CHAR_CTRL_D ) {
51- // EOF
52- printf ("\n" );
53- return NULL ;
54- } else {
55- printf ("\n" );
56- char * line = malloc (1 );
57- line [0 ] = '\0' ;
58- return line ;
59- }
60- }
61- vstr_null_terminated_str (& vstr );
62- char * line = malloc (vstr .len + 1 );
63- memcpy (line , vstr .buf , vstr .len + 1 );
64- vstr_clear (& vstr );
65- #else
6642 // simple read string
6743 static char buf [256 ];
6844 fputs (p , stdout );
@@ -78,9 +54,9 @@ char *prompt(char *p) {
7854 }
7955 char * line = malloc (l );
8056 memcpy (line , buf , l );
81- #endif
8257 return line ;
8358}
59+ #endif
8460
8561void prompt_read_history (void ) {
8662#if MICROPY_USE_READLINE_HISTORY
@@ -143,18 +119,3 @@ void prompt_write_history(void) {
143119 #endif
144120#endif
145121}
146-
147- STATIC mp_obj_t mp_builtin_input (size_t n_args , const mp_obj_t * args ) {
148- if (n_args == 1 ) {
149- mp_obj_print (args [0 ], PRINT_STR );
150- }
151-
152- char * line = prompt ("" );
153- if (line == NULL ) {
154- nlr_raise (mp_obj_new_exception (& mp_type_EOFError ));
155- }
156- mp_obj_t o = mp_obj_new_str (line , strlen (line ), false);
157- free (line );
158- return o ;
159- }
160- MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (mp_builtin_input_obj , 0 , 1 , mp_builtin_input );
0 commit comments