[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] gvars3/src GUI.cc GUI_readline.cc
From: |
Edward Rosten |
Subject: |
[libcvd-members] gvars3/src GUI.cc GUI_readline.cc |
Date: |
Mon, 22 Oct 2007 22:20:44 +0000 |
CVSROOT: /cvsroot/libcvd
Module name: gvars3
Changes by: Edward Rosten <edrosten> 07/10/22 22:20:44
Modified files:
src : GUI.cc GUI_readline.cc
Log message:
Fix for machines with readline.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gvars3/src/GUI.cc?cvsroot=libcvd&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/gvars3/src/GUI_readline.cc?cvsroot=libcvd&r1=1.8&r2=1.9
Patches:
Index: GUI.cc
===================================================================
RCS file: /cvsroot/libcvd/gvars3/src/GUI.cc,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- GUI.cc 18 Oct 2007 16:17:51 -0000 1.17
+++ GUI.cc 22 Oct 2007 22:20:44 -0000 1.18
@@ -73,55 +73,6 @@
return false;
}
-char* GV3ReadlineCommandGenerator(const char *szText, int nState)
-{
- static vector<string> tags;
- static vector<string>::iterator tag_i;
-
- if(!nState)
- {
- tags = GV3::tag_list();
- tag_i = tags.begin();
-
- };
-
- while(tag_i != tags.end())
- {
- int text_len = strlen(szText);
- bool bEqualsAtEnd = false;
- if(text_len>0)
- if(szText[text_len-1]=='=')
- bEqualsAtEnd = true;
- string sCurrent = *tag_i;
- string sComparison = *tag_i;
- if(bEqualsAtEnd)
- sComparison = sComparison + "=";
-
- tag_i++;
-
- if(strncmp(szText, sComparison.c_str(), text_len) == 0)
- {
- //If it's a prefect match, complete with the value
- string sCompleted;
- if(text_len == sComparison.size())
- sCompleted = szText + ((bEqualsAtEnd?"":"=") +
GV3::get_var(sCurrent));
- else
- sCompleted = sCurrent;
-
- char* r;
-
- if((r= (char*)malloc(sCompleted.size() + 1)) == NULL)
- return 0;
-
- strcpy(r, sCompleted.c_str());
- return r;
- }
- }
-
- return 0;
-}
-
-
GUI *GUI::mpReadlineCompleterGUI=NULL;
Index: GUI_readline.cc
===================================================================
RCS file: /cvsroot/libcvd/gvars3/src/GUI_readline.cc,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- GUI_readline.cc 18 Oct 2007 16:17:51 -0000 1.8
+++ GUI_readline.cc 22 Oct 2007 22:20:44 -0000 1.9
@@ -20,6 +20,7 @@
*/
#include "gvars3/instances.h"
+#include "gvars3/GUI.h"
#include "gvars3/GUI_readline.h"
#include <pthread.h>
@@ -146,13 +147,61 @@
}
}
-}
char * GUI::ReadlineCommandGeneratorCB(const char *szText, int nState)
{
return mpReadlineCompleterGUI->ReadlineCommandGenerator(szText, nState);
}
+char* GV3ReadlineCommandGenerator(const char *szText, int nState)
+{
+ static vector<string> tags;
+ static vector<string>::iterator tag_i;
+
+ if(!nState)
+ {
+ tags = GV3::tag_list();
+ tag_i = tags.begin();
+
+ };
+
+ while(tag_i != tags.end())
+ {
+ int text_len = strlen(szText);
+ bool bEqualsAtEnd = false;
+ if(text_len>0)
+ if(szText[text_len-1]=='=')
+ bEqualsAtEnd = true;
+ string sCurrent = *tag_i;
+ string sComparison = *tag_i;
+ if(bEqualsAtEnd)
+ sComparison = sComparison + "=";
+
+ tag_i++;
+
+ if(strncmp(szText, sComparison.c_str(), text_len) == 0)
+ {
+ //If it's a prefect match, complete with the value
+ string sCompleted;
+ if(text_len == sComparison.size())
+ sCompleted = szText + ((bEqualsAtEnd?"":"=") +
GV3::get_var(sCurrent));
+ else
+ sCompleted = sCurrent;
+
+ char* r;
+
+ if((r= (char*)malloc(sCompleted.size() + 1)) == NULL)
+ return 0;
+
+ strcpy(r, sCompleted.c_str());
+ return r;
+ }
+ }
+
+ return 0;
+}
+
+
char * GUI::ReadlineCommandGenerator(const char *szText, int nState)
{
@@ -191,3 +240,4 @@
};
+}