From: Peter Collingbourne Date: Tue, 4 Feb 2014 20:04:46 +0000 (+0000) Subject: Avoid using EL_GETFP. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=767a3dca4c66dffc88c71cd8586679b1c55f22a8;hp=051faa2cfa63b5add668592c9e6cc240a876cdb9;ds=sidebyside Avoid using EL_GETFP. This should fix the build against old versions of libedit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200794 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/LineEditor/LineEditor.cpp b/lib/LineEditor/LineEditor.cpp index 80c80800202..a50ccc388f1 100644 --- a/lib/LineEditor/LineEditor.cpp +++ b/lib/LineEditor/LineEditor.cpp @@ -102,6 +102,8 @@ struct LineEditor::InternalData { unsigned PrevCount; std::string ContinuationOutput; + + FILE *Out; }; static const char *ElGetPromptFn(EditLine *EL) { @@ -120,9 +122,7 @@ static unsigned char ElCompletionFn(EditLine *EL, int ch) { if (el_get(EL, EL_CLIENTDATA, &Data) == 0) { if (!Data->ContinuationOutput.empty()) { // This is the continuation of the AK_ShowCompletions branch below. - FILE *Out; - if (::el_get(EL, EL_GETFP, 1, &Out) != 0) - return CC_ERROR; + FILE *Out = Data->Out; // Print the required output (see below). ::fwrite(Data->ContinuationOutput.c_str(), @@ -198,6 +198,7 @@ LineEditor::LineEditor(StringRef ProgName, StringRef HistoryPath, FILE *In, this->HistoryPath = getDefaultHistoryPath(ProgName); Data->LE = this; + Data->Out = Out; Data->Hist = ::history_init(); assert(Data->Hist); @@ -228,15 +229,9 @@ LineEditor::LineEditor(StringRef ProgName, StringRef HistoryPath, FILE *In, LineEditor::~LineEditor() { saveHistory(); - FILE *Out; - if (::el_get(Data->EL, EL_GETFP, 1, &Out) != 0) - Out = 0; - ::history_end(Data->Hist); ::el_end(Data->EL); - - if (Out) - ::fwrite("\n", 1, 1, Out); + ::fwrite("\n", 1, 1, Data->Out); } void LineEditor::saveHistory() {