summaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-08-12 20:45:55 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-08-12 20:45:55 -0700
commita3cf3b0c03518a39391659da887f5dbe0ad5fc16 (patch)
tree1a95bf7ba4b31adce4003734148f24b253fe41a9 /parser.c
parent80023f287c52876b82af43027dd4605ab939d006 (diff)
downloadtxr-a3cf3b0c03518a39391659da887f5dbe0ad5fc16.tar.gz
txr-a3cf3b0c03518a39391659da887f5dbe0ad5fc16.tar.bz2
txr-a3cf3b0c03518a39391659da887f5dbe0ad5fc16.zip
Improvement in hash bang code.
* parser.c (read_eval_stream): Simplify hash bang code and avoid creating a string that might not end up being used.
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/parser.c b/parser.c
index 86dc9a4d..c5342ae9 100644
--- a/parser.c
+++ b/parser.c
@@ -312,13 +312,10 @@ val read_eval_stream(val stream, val error_stream, val hash_bang_support)
if (hash_bang_support) {
val firstline = get_line(stream);
- if (firstline) {
+ if (firstline && !match_str(firstline, lit("#!"), nil)) {
val flwnl = cat_str(list(firstline, lit("\n"), nao), nil);
-
- if (!match_str(flwnl, lit("#!"), nil)) {
- val string_stream = make_string_byte_input_stream(flwnl);
- stream = make_catenated_stream(list(string_stream, stream, nao));
- }
+ val string_stream = make_string_byte_input_stream(flwnl);
+ stream = make_catenated_stream(list(string_stream, stream, nao));
}
}