From 8d623da1631da9f7dce598d24242e3135af61c6f Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Sat, 19 Jul 2014 11:34:37 +0900 Subject: [PATCH] refactor read_directive --- src/read.c | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/src/read.c b/src/read.c index d42b5d32..e9414819 100644 --- a/src/read.c +++ b/src/read.c @@ -118,34 +118,22 @@ read_datum_comment(pic_state *pic, struct pic_port *port, char c) static pic_value read_directive(pic_state *pic, struct pic_port *port, char c) { - UNUSED(pic); - - c = next(port); - - if (c == 'n') { - if(expect(port, "o-fold-case")){ + switch (peek(port)) { + case 'n': + if (expect(port, "no-fold-case")) { /* :FIXME: set no-fold-case flag */ + return pic_undef_value(); } - else{ - xfseek(port->file, -1, SEEK_CUR); - goto shebang; + break; + case 'f': + if (expect(port, "fold-case")) { + /* :FIXME: set fold-case flag */ + return pic_undef_value(); } - } - else if (c == 'f') { - if(expect(port, "old-case")){ - /* :FIXME: set fold-case flag */ - } - else{ - xfseek(port->file, -1, SEEK_CUR); - goto shebang; - } - } - else{ - shebang: - while(xfgetc(port->file) != '\n'); + break; } - return pic_undef_value(); + return read_comment(pic, port, c); } static pic_value