From c166b718b496da63c4df7a0972df2fc6cd38256b Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Thu, 15 Mar 2018 18:27:30 +0800 Subject: parser: Fix backquote support in here-document EOF mark Currently using backquotes in a here-document EOF mark is broken because dash tries to do command substitution on it. This patch fixes it by checking whether we're looking for an EOF mark during tokenisation. Reported-by: Harald van Dijk Signed-off-by: Herbert Xu --- src/parser.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/parser.c b/src/parser.c index cd98094..ae76400 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1037,6 +1037,11 @@ toggledq: } break; case CBQUOTE: /* '`' */ + if (checkkwd & CHKEOFMARK) { + USTPUTC('`', out); + break; + } + PARSEBACKQOLD(); break; case CEOF: -- cgit 1.4.1 ue='v2'>v2 collaborative ASCII art
summary refs log tree commit diff homepage
Commit message (Collapse)Author
2018-08-05Add chat to index.htmlJune McEnroe
2018-07-25Set client sockets SNDBUF to twice tile sizeJune McEnroe
On Darwin and FreeBSD, this is already the default buffer size, but on (32-bit?) NetBSD, it's only 4K.
2018-07-24Revert "Do not set non-blocking on client sockets"June McEnroe
This reverts commit f4da47cb0ee659472b563b9e6443663c62a69996. There actually are adverse effects.
2018-07-24Print time_t with %jd in metaJune McEnroe
On 32-bit NetBSD, time_t is 'long long int' rather than 'long int'. This works everywhere.
2018-07-24Do not set non-blocking on client socketsJune McEnroe
On NetBSD, the send buffer seems to only be 4096 bytes, so sending SERVER_TILE would get cut short. Just not setting non-blocking allows messages to properly get through and *seems* to have no adverse effect.
2018-07-24Use EV_SETJune McEnroe
NetBSD kevent.udata is uintptr_t rather than void * and the macro does the cast.
2018-07-24Link with -lcursesJune McEnroe
NetBSD has its own curses implementation and doesn't ship ncurses.
2018-07-23Fix NaNs in serverMapJune McEnroe
When there are very few touched tiles, even if they are recent, they will appear blue, because timeMin is also recent. I should figure out how to fix that.
2018-07-22Add libm.so to chroot.tarJune McEnroe
2018-07-22Link with -lmJune McEnroe
Darwin's lack of separation strikes again.
2018-07-22Add map to clientJune McEnroe
2018-07-21Refactor readInput for each modeJune McEnroe
2018-07-19Add ARRAY_LEN macroJune McEnroe
2018-07-17Add server map generationJune McEnroe
2018-07-17Tabify sourceJune McEnroe
And other style changes.
2018-05-13Fix ncurses color pair numberingJune McEnroe
This was dumb. Of course all the color pairs fit in 64, but I was shifting too much because my own representation includes the bright bit.
2018-04-09Use anonymous unionJune McEnroe
2018-04-09Replace #define with enum or const where possibleJune McEnroe
2018-03-31Link against ncursesJune McEnroe
2018-03-05Miscellaneous code cleanupJune McEnroe
2018-03-05Pass message structs by valueJune McEnroe
2018-03-05Use stdio in merge and metaJune McEnroe
2018-03-05Clean up spawn constantsJune McEnroe
2018-03-05Rename Tile timestamps {create,modify,access}TimeJune McEnroe
2018-03-05Pack message type enumsJune McEnroe
2018-03-05Undef COLOR_ constants in torus.hJune McEnroe
2018-03-05Generate tagsJune McEnroe
2017-10-03Simplify Makefile with pattern ruleJune McEnroe
Insert rant about how GNU make handles the .c rule with extra dependencies. Also I don't care that everything links curses now.
2017-09-27Remove leading blank linesJune McEnroe
2017-09-27Add merge.c to READMEJune McEnroe
2017-09-03Assert client coords are valid after movementJune McEnroe
2017-09-03Relicense AGPLJune McEnroe
I know it's already published under a permissive license in what is probably its final form, but I want to license it AGPL anyway on principle following some conversations I had about open source, corporations and copyleft.
2017-09-01Revert "Add client readOnly mode"June McEnroe
This reverts commit 9a6c9c91c8092603b914cc0b3085d059e162ca29.
2017-09-01Remove clientRemove call from clientCastJune McEnroe
If an error occurs on a client socket during a broadcast, that client will show up in the kqueue loop with EV_EOF and get removed that way. Tested by sending SIGKILL to a client and watching its cursor disappear.
2017-09-01Add client readOnly modeJune McEnroe
2017-08-31Clean up merge toolJune McEnroe
Choose the version with the most recent access if the modify times are the same.
2017-08-31Choose B for tiles with equal modify timesJune McEnroe
This way newer access counts and times will be preserved.
2017-08-31Add quick data file merge toolJune McEnroe
Hopefully I won't have to use it ever again.
2017-08-30Use only foreground color for selecting spawnJune McEnroe
2017-08-29Add four additional spawnsJune McEnroe
2017-08-28Add respawningJune McEnroe
2017-08-26Move license above includesJune McEnroe
Why was it down there?
2017-08-26Snapshot metadataJune McEnroe
2017-08-26Add meta.c to READMEJune McEnroe
2017-08-26Use MakefileJune McEnroe