diff options
author | don bright <hugh.m.bright@gmail.com> | 2012-08-19 18:08:32 (GMT) |
---|---|---|
committer | don bright <hugh.m.bright@gmail.com> | 2012-08-19 18:08:32 (GMT) |
commit | c6eeb1a1c5da072e1c0a77d30892e4ee95ed9bde (patch) | |
tree | e5513fae2b6fbef7e974771eeb6deeba6e34f2a6 /src/lexer.l | |
parent | ee26d60a8b274afcdad7538bd8b2e9fb8d53f8bd (diff) | |
parent | c1d5e82b4365bf9d0563e1c5927a99d3def91832 (diff) |
Merge branch 'master' of github.com:openscad/openscad
Diffstat (limited to 'src/lexer.l')
-rw-r--r-- | src/lexer.l | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/lexer.l b/src/lexer.l index f939330..1e3bd5b 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -122,10 +122,16 @@ use[ \t\r\n>]*"<" { BEGIN(cond_use); } } } /* Only accept regular files which exists */ - if (usepath.has_parent_path() && fs::exists(usepath)) { + if (usepath.has_parent_path() && fs::exists(usepath) && !fs::is_directory(usepath)) { handle_dep(usepath.string()); parserlval.text = strdup(usepath.string().c_str()); return TOK_USE; + } else { + PRINTB("WARNING: Can't open 'use' file '%s'.", filename); + if ( filename.size() == 0 ) + PRINT("WARNING: 'use' filename is blank"); + else if ( fs::is_directory( usepath ) ) + PRINTB("WARNING: 'use' file points to a directory: %s",filename); } } } @@ -217,6 +223,10 @@ void includefile() finfo = locate_file((fs::path(filepath) / filename).string()); } + if (finfo.empty()) { + PRINTB("WARNING: Can't find 'include' file '%s'.", filename); + } + filepath.clear(); path_stack.push_back(finfo.parent_path()); @@ -225,7 +235,7 @@ void includefile() currmodule->registerInclude(fullname); yyin = fopen(fullname.c_str(), "r"); if (!yyin) { - PRINTB("WARNING: Can't open input file '%s'.", filename); + PRINTB("WARNING: Can't open 'include' file '%s'.", filename); path_stack.pop_back(); return; } |