summaryrefslogtreecommitdiff
path: root/src/lexer.l
diff options
context:
space:
mode:
authorclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-28 13:48:04 (GMT)
committerclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-28 13:48:04 (GMT)
commitd3329838b4d948455277caa3c24df4b7b50fabb2 (patch)
treec132e689fbf28bc5d607461c83afdeb79b0adfa2 /src/lexer.l
parentb12deeff5be0ce76af25d557480f29b0ed849dd6 (diff)
Clifford Wolf:
Implemented 'use' statement git-svn-id: http://svn.clifford.at/openscad/trunk@459 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'src/lexer.l')
-rw-r--r--src/lexer.l7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lexer.l b/src/lexer.l
index 24ec83b..c4406b6 100644
--- a/src/lexer.l
+++ b/src/lexer.l
@@ -89,7 +89,12 @@ use[ \t\r\n>]*"<"[^ \t\r\n>]+">" {
QString filename(yytext);
filename.remove(QRegExp("^use[ \t\r\n>]*<"));
filename.remove(QRegExp(">$"));
- parserlval.text = strdup(filename.toLocal8Bit());
+ QFileInfo finfo(QDir(parser_source_path), filename);
+ if (!finfo.exists()) {
+ finfo = QFileInfo(QDir(librarydir), filename);
+ }
+ handle_dep(finfo.absoluteFilePath());
+ parserlval.text = strdup(finfo.absoluteFilePath().toLocal8Bit());
return TOK_USE;
}
contact: Jan Huwald // Impressum