1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
//#define XERR
#include "scanner.ih"
bool Scanner::includeIM()
{
if (not d_active)
return false;
string next = nextName('<', '>');
char const *im;
if (im = getenv("IM"); im == 0) // no IM env. var
throw fatal() << "IM environment variable not defined";
for (auto const &pair: String::split(im, String::TOK, ":"))
{
string fullName{ pair.first + '/' + next };
xerr("fullname: " << fullName);
if (Tools::exists(fullName))
{
nextStream(fullName);
return true;
}
}
throw fatal() << "can't find `" << next <<
"' in IM directories (" << im << ')';
}
|