summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-09-16 12:47:21 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2015-09-16 12:47:21 (GMT)
commit0ec62015471eee37cb99765578e0db8b2f633350 (patch)
tree4f9cc8d1ca149dbca6fa0a68f4a4de179ae292f6
parentf3c3b428514f008941b19d027ac5fddb87809ce1 (diff)
parent7046eedd387c97838f9daf5419e1081d75a53beb (diff)
downloadCMake-0ec62015471eee37cb99765578e0db8b2f633350.zip
CMake-0ec62015471eee37cb99765578e0db8b2f633350.tar.gz
CMake-0ec62015471eee37cb99765578e0db8b2f633350.tar.bz2
Merge topic 'ccmake-portability'
7046eedd ccmake: Use more-portable call to set_field_buffer (#15740) da1a02f7 ccmake: Avoid using non-portable 'curcol' field (#15739) 6c442e5a ccmake: Pass format string to 'printw' (#15738)
-rw-r--r--Source/CursesDialog/cmCursesLongMessageForm.cxx8
-rw-r--r--Source/CursesDialog/cmCursesMainForm.cxx17
-rw-r--r--Source/CursesDialog/cmCursesStringWidget.cxx25
-rw-r--r--Source/CursesDialog/cmCursesWidget.cxx2
4 files changed, 27 insertions, 25 deletions
diff --git a/Source/CursesDialog/cmCursesLongMessageForm.cxx b/Source/CursesDialog/cmCursesLongMessageForm.cxx
index 67e4aab..6144ddc 100644
--- a/Source/CursesDialog/cmCursesLongMessageForm.cxx
+++ b/Source/CursesDialog/cmCursesLongMessageForm.cxx
@@ -80,12 +80,13 @@ void cmCursesLongMessageForm::UpdateStatusBar()
sprintf(version+sideSpace, "%s", vertmp);
version[width] = '\0';
+ char fmt_s[] = "%s";
curses_move(y-4,0);
attron(A_STANDOUT);
- printw(bar);
+ printw(fmt_s, bar);
attroff(A_STANDOUT);
curses_move(y-3,0);
- printw(version);
+ printw(fmt_s, version);
pos_form_cursor(this->Form);
}
@@ -101,8 +102,9 @@ void cmCursesLongMessageForm::PrintKeys()
char firstLine[512];
sprintf(firstLine, "Press [e] to exit help");
+ char fmt_s[] = "%s";
curses_move(y-2,0);
- printw(firstLine);
+ printw(fmt_s, firstLine);
pos_form_cursor(this->Form);
}
diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx
index be17a9f..a2fc2c0 100644
--- a/Source/CursesDialog/cmCursesMainForm.cxx
+++ b/Source/CursesDialog/cmCursesMainForm.cxx
@@ -451,24 +451,25 @@ void cmCursesMainForm::PrintKeys(int process /* = 0 */)
}
curses_move(y-4,0);
+ char fmt_s[] = "%s";
char fmt[512] = "Press [enter] to edit option";
if ( process )
{
strcpy(fmt, " ");
}
- printw(fmt);
+ printw(fmt_s, fmt);
curses_move(y-3,0);
- printw(firstLine);
+ printw(fmt_s, firstLine);
curses_move(y-2,0);
- printw(secondLine);
+ printw(fmt_s, secondLine);
curses_move(y-1,0);
- printw(thirdLine);
+ printw(fmt_s, thirdLine);
if (cw)
{
sprintf(firstLine, "Page %d of %d", cw->GetPage(), this->NumberOfPages);
curses_move(0,65-static_cast<unsigned int>(strlen(firstLine))-1);
- printw(firstLine);
+ printw(fmt_s, firstLine);
}
// }
@@ -612,13 +613,13 @@ void cmCursesMainForm::UpdateStatusBar(const char* message)
version[width] = '\0';
// Now print both lines
+ char fmt_s[] = "%s";
curses_move(y-5,0);
attron(A_STANDOUT);
- char format[] = "%s";
- printw(format, bar);
+ printw(fmt_s, bar);
attroff(A_STANDOUT);
curses_move(y-4,0);
- printw(version);
+ printw(fmt_s, version);
pos_form_cursor(this->Form);
}
diff --git a/Source/CursesDialog/cmCursesStringWidget.cxx b/Source/CursesDialog/cmCursesStringWidget.cxx
index acf262f..6eb15c1 100644
--- a/Source/CursesDialog/cmCursesStringWidget.cxx
+++ b/Source/CursesDialog/cmCursesStringWidget.cxx
@@ -168,17 +168,16 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
else if ( key == 127 ||
key == KEY_BACKSPACE )
{
- if ( form->curcol > 0 )
- {
+ FIELD *cur = current_field(form);
form_driver(form, REQ_DEL_PREV);
- }
+ if (current_field(form) != cur)
+ {
+ set_current_field(form, cur);
+ }
}
else if ( key == ctrl('d') ||key == KEY_DC )
{
- if ( form->curcol >= 0 )
- {
- form_driver(form, REQ_DEL_CHAR);
- }
+ form_driver(form, REQ_DEL_CHAR);
}
else
{
@@ -221,6 +220,7 @@ bool cmCursesStringWidget::PrintKeys()
}
if (this->InEdit)
{
+ char fmt_s[] = "%s";
char firstLine[512];
// Clean the toolbar
for(int i=0; i<512; i++)
@@ -229,17 +229,16 @@ bool cmCursesStringWidget::PrintKeys()
}
firstLine[511] = '\0';
curses_move(y-4,0);
- printw(firstLine);
+ printw(fmt_s, firstLine);
curses_move(y-3,0);
- printw(firstLine);
+ printw(fmt_s, firstLine);
curses_move(y-2,0);
- printw(firstLine);
+ printw(fmt_s, firstLine);
curses_move(y-1,0);
- printw(firstLine);
+ printw(fmt_s, firstLine);
- sprintf(firstLine, "Editing option, press [enter] to leave edit.");
curses_move(y-3,0);
- printw(firstLine);
+ printw(fmt_s, "Editing option, press [enter] to leave edit.");
return true;
}
else
diff --git a/Source/CursesDialog/cmCursesWidget.cxx b/Source/CursesDialog/cmCursesWidget.cxx
index e5363f4..a12e4c2 100644
--- a/Source/CursesDialog/cmCursesWidget.cxx
+++ b/Source/CursesDialog/cmCursesWidget.cxx
@@ -49,7 +49,7 @@ void cmCursesWidget::Move(int x, int y, bool isNewPage)
void cmCursesWidget::SetValue(const std::string& value)
{
this->Value = value;
- set_field_buffer(this->Field, 0, value.c_str());
+ set_field_buffer(this->Field, 0, const_cast<char *>(value.c_str()));
}
const char* cmCursesWidget::GetValue()