From e27dafd338b204407092af37dbafdbebb87859a1 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 28 Nov 2008 04:01:03 +0000 Subject: ash: add FIXME --- shell/ash.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/shell/ash.c b/shell/ash.c index 295418c04..9eff1b38e 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -9156,6 +9156,11 @@ popstring(void) INT_ON; } +//FIXME: BASH_COMPAT with "...&" does TWO pungetc(): +//it peeks whether it is &>, and then pushes back both chars. +//This function needs to save last *next_to_pgetc to buf[0] +//to make two pungetc() reliable. Currently, +// pgetc (out of buf: does preadfd), pgetc, pungetc, pungetc won't work... static int preadfd(void) { @@ -9251,9 +9256,9 @@ preadbuffer(void) * "pgetc" needs refilling. */ - /* -90 is -BIGNUM. Below we use -99 to mark "EOF on read", + /* -90 is our -BIGNUM. Below we use -99 to mark "EOF on read", * pungetc() may increment it a few times. - * Assuming it won't increment it to 0. + * Assuming it won't increment it to less than -90. */ if (g_parsefile->left_in_line < -90 || g_parsefile->buf == NULL) { pgetc_debug("preadbuffer PEOF1"); -- cgit v1.2.3