b39be2e58196d73dc84f1ff36abdbee96ea6f205
4 #include <readline/readline.h>
5 #include <readline/history.h>
9 static char *cs_answer
= (char *)NULL
;
11 void cleanReadLine(CleanString prompt
, int history
, CleanString
*result
)
14 unsigned long promptlen
= CleanStringLength(prompt
);
15 char *cs_prompt
= (char *)malloc(promptlen
+1);
16 if(cs_prompt
== NULL
){
17 printf("malloc failed...\n");
20 memcpy(cs_prompt
, CleanStringCharacters(prompt
), promptlen
);
21 cs_prompt
[promptlen
] = '\0';
23 //Get the answer and add to history if not empty
26 cs_answer
= (char *)NULL
;
28 cs_answer
= readline(cs_prompt
);
30 if(cs_answer
&& *cs_answer
&& history
){
31 add_history(cs_answer
);
34 //Transfor answer into cstring
35 CleanStringVariable(answer
, strlen(cs_answer
));
36 *result
= (CleanString
) answer
;
37 memcpy(CleanStringCharacters(answer
), cs_answer
, strlen(cs_answer
));
38 CleanStringLength(answer
) = strlen(cs_answer
);