Replace getline with fgets since getline does not seems to work properly on Mac OSX
This commit is contained in:
parent
577cf91945
commit
d1fbb556eb
@ -18,6 +18,11 @@
|
|||||||
#include "cmake.h"
|
#include "cmake.h"
|
||||||
#include "cmCacheManager.h"
|
#include "cmCacheManager.h"
|
||||||
|
|
||||||
|
|
||||||
|
// On Mac OSX getline looks like it is broken, so we have to use
|
||||||
|
// fgets. This is why we are including stdio.h.
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
cmakewizard::cmakewizard()
|
cmakewizard::cmakewizard()
|
||||||
{
|
{
|
||||||
m_ShowAdvanced = false;
|
m_ShowAdvanced = false;
|
||||||
@ -33,7 +38,7 @@ void cmakewizard::AskUser(const char* key, cmCacheManager::CacheIterator& iter)
|
|||||||
std::cout << "New Value (Enter to keep current value): ";
|
std::cout << "New Value (Enter to keep current value): ";
|
||||||
char buffer[4096];
|
char buffer[4096];
|
||||||
buffer[0] = 0;
|
buffer[0] = 0;
|
||||||
std::cin.getline(buffer, sizeof(buffer));
|
fgets(buffer, sizeof(buffer)-1, stdin);
|
||||||
if(buffer[0])
|
if(buffer[0])
|
||||||
{
|
{
|
||||||
std::string value = buffer;
|
std::string value = buffer;
|
||||||
@ -59,7 +64,7 @@ bool cmakewizard::AskAdvanced()
|
|||||||
std::cout << "Would you like to see advanced options? [No]:";
|
std::cout << "Would you like to see advanced options? [No]:";
|
||||||
char buffer[4096];
|
char buffer[4096];
|
||||||
buffer[0] = 0;
|
buffer[0] = 0;
|
||||||
std::cin.getline(buffer, sizeof(buffer));
|
fgets(buffer, sizeof(buffer)-1, stdin);
|
||||||
if(buffer[0])
|
if(buffer[0])
|
||||||
{
|
{
|
||||||
if(buffer[0] == 'y' || buffer[0] == 'Y')
|
if(buffer[0] == 'y' || buffer[0] == 'Y')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user