From 762e5ac93f08912c6daae6e83033b01332e914ab Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Fri, 14 Sep 2012 20:23:18 +0000 Subject: Create a common libui using CMake similar to what we do with Autotools. Move the GTK+ text import code to the common UI directory. Create wtap_encap_requires_phdr() from code in file_import_dlg.c. svn path=/trunk/; revision=44904 --- ui/text_import_scanner.l | 102 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 ui/text_import_scanner.l (limited to 'ui/text_import_scanner.l') diff --git a/ui/text_import_scanner.l b/ui/text_import_scanner.l new file mode 100644 index 0000000000..bd59c749d6 --- /dev/null +++ b/ui/text_import_scanner.l @@ -0,0 +1,102 @@ +/* -*-mode: flex-*- */ + +/* + * We don't use unput, so don't generate code for it. + */ +%option nounput noinput + +/* + * We don't read from the terminal. + */ +%option never-interactive + +/* + * Prefix scanner routines with "text_import" rather than "yy", so this scanner + * can coexist with other scanners. + */ +%option prefix="text_import" + +%{ + +/******************************************************************************** + * + * text_import_scanner.l + * Scanner for text import + * November 2010, Jaap Keuter + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * Based on text2pcap-scanner.l by Ashok Narayanan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + *******************************************************************************/ + +#include +#include + +#include "text_import_scanner.h" +#include "text_import_scanner_lex.h" + +/* + * Flex (v 2.5.35) uses this symbol to "exclude" unistd.h + */ +#ifdef _WIN32 +#define YY_NO_UNISTD_H +#endif + +#ifdef _WIN32 +/* disable Windows VC compiler warning "signed/unsigned mismatch" associated */ +/* with YY_INPUT code generated by flex versions such as 2.5.35. */ +#pragma warning (disable:4018) +#endif + +%} + +hexdigit [0-9A-Fa-f] +directive #TEXT2PCAP.* +comment #[^W].* +byte [0-9A-Fa-f][0-9A-Fa-f][ \t] +byte_eol [0-9A-Fa-f][0-9A-Fa-f]\r?\n +offset [0-9A-Fa-f]+[: \t] +offset_eol [0-9A-Fa-f]+\r?\n +text [^ \n\t]+ +mailfwd > +eol \r?\n\r? + +%% + +{byte} { parse_token(T_BYTE, yytext); } +{byte_eol} { parse_token(T_BYTE, yytext); parse_token(T_EOL, NULL); } +{offset} { parse_token(T_OFFSET, yytext); } +{offset_eol} { parse_token(T_OFFSET, yytext); parse_token(T_EOL, NULL); } +{mailfwd}{offset} { parse_token(T_OFFSET, yytext+1); } +{eol} { parse_token(T_EOL, NULL); } +[ \t] ; /* ignore whitespace */ +{directive} { parse_token(T_DIRECTIVE, yytext); } +{comment} ; /* ignore comments */ +{text} { parse_token(T_TEXT, yytext); } + +<> { write_current_packet(); yyterminate(); } + +%% +int yywrap(void) +{ + return 1; +} -- cgit v1.2.1