diff options
Diffstat (limited to 'Build/source/utils/asymptote/interact.cc')
-rw-r--r-- | Build/source/utils/asymptote/interact.cc | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/Build/source/utils/asymptote/interact.cc b/Build/source/utils/asymptote/interact.cc index 22111c62de8..2a6c37e8811 100644 --- a/Build/source/utils/asymptote/interact.cc +++ b/Build/source/utils/asymptote/interact.cc @@ -12,13 +12,12 @@ #include <sys/types.h> #include <unistd.h> #include <csignal> -#include <cstring> +#include <cstdio> #include "interact.h" #include "runhistory.h" #if defined(HAVE_LIBREADLINE) && defined(HAVE_LIBCURSES) -#include <cstdio> #include <readline/readline.h> #include <readline/history.h> #endif @@ -86,14 +85,10 @@ FILE *fin=NULL; char *readpipeline(const char *prompt) { - const int max_size=256; - static char buf[max_size]; - ostringstream s; - do { - if(fgets(buf,max_size-1,fin) == NULL) break; - s << buf; - } while(buf[strlen(buf)-1] != '\n'); - return StrdupMalloc(s.str()); + char *line=NULL; + size_t n; + n=getline(&line,&n,fin); + return line; } void pre_readline() |