/*
* amanda, the advanced maryland automatic network disk archiver
* Copyright (c) 1991-2000 University of Maryland at College Park
+ * Copyright (c) 2007-2012 Zmanda, Inc. All Rights Reserved.
* All Rights Reserved.
*
* Permission to use, copy, modify, distribute, and sell this software and its
*
* lexer for amrecover interactive language
*/
-#line 32 "uscan.l"
+#line 33 "uscan.l"
#include "amanda.h"
#include "uparse.h"
static int ll_parse_date(int type, char *text);
int process_line(char *line);
-#line 62 "uscan.l"
+#line 63 "uscan.l"
static char *string_buf = NULL;
-#line 593 "uscan.c"
+#line 594 "uscan.c"
#define INITIAL 0
#define quotedpath 1
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 65 "uscan.l"
+#line 66 "uscan.l"
/* literal keyword tokens */
-#line 783 "uscan.c"
+#line 784 "uscan.c"
if ( !(yy_init) )
{
case 1:
YY_RULE_SETUP
-#line 71 "uscan.l"
+#line 72 "uscan.l"
{ return LISTHOST; }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 72 "uscan.l"
+#line 73 "uscan.l"
{ return LISTDISK; }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 73 "uscan.l"
+#line 74 "uscan.l"
{ return SETHOST; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 74 "uscan.l"
+#line 75 "uscan.l"
{ return SETDISK; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 75 "uscan.l"
+#line 76 "uscan.l"
{ return SETDATE; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 76 "uscan.l"
+#line 77 "uscan.l"
{ return SETMODE; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 77 "uscan.l"
+#line 78 "uscan.l"
{ return SETTAPE; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 78 "uscan.l"
+#line 79 "uscan.l"
{ return CD; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 79 "uscan.l"
+#line 80 "uscan.l"
{ return CDX; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 80 "uscan.l"
+#line 81 "uscan.l"
{ return QUIT; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 81 "uscan.l"
+#line 82 "uscan.l"
{ return QUIT; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 82 "uscan.l"
+#line 83 "uscan.l"
{ return DHIST; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 83 "uscan.l"
+#line 84 "uscan.l"
{ return LS; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 84 "uscan.l"
+#line 85 "uscan.l"
{ return ADD; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 85 "uscan.l"
+#line 86 "uscan.l"
{ return ADDX; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 86 "uscan.l"
+#line 87 "uscan.l"
{ return LIST; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 87 "uscan.l"
+#line 88 "uscan.l"
{ return DELETE; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 88 "uscan.l"
+#line 89 "uscan.l"
{ return DELETEX; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 89 "uscan.l"
+#line 90 "uscan.l"
{ return PWD; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 90 "uscan.l"
+#line 91 "uscan.l"
{ return CLEAR; }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 91 "uscan.l"
+#line 92 "uscan.l"
{ return HELP; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 92 "uscan.l"
+#line 93 "uscan.l"
{ return HELP; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 93 "uscan.l"
+#line 94 "uscan.l"
{ return LCD; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 94 "uscan.l"
+#line 95 "uscan.l"
{ return LPWD; }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 95 "uscan.l"
+#line 96 "uscan.l"
{ return EXTRACT; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 96 "uscan.l"
+#line 97 "uscan.l"
{ return SMB; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 97 "uscan.l"
+#line 98 "uscan.l"
{ return TAR; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 98 "uscan.l"
+#line 99 "uscan.l"
{ return MODE; }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 104 "uscan.l"
+#line 105 "uscan.l"
{ return ll_parse_date(1, yytext); }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 105 "uscan.l"
+#line 106 "uscan.l"
{ return ll_parse_date(2, yytext); }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 106 "uscan.l"
+#line 107 "uscan.l"
{ return ll_parse_date(3, yytext); }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 107 "uscan.l"
+#line 108 "uscan.l"
{ return ll_parse_date(4, yytext); }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 108 "uscan.l"
+#line 109 "uscan.l"
{ return ll_parse_date(5, yytext); }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 114 "uscan.l"
+#line 115 "uscan.l"
{
if(string_buf != NULL) {
g_printf("ERROR:string_buf != NULL: %s\n",string_buf);
case 35:
/* rule 35 can match eol */
YY_RULE_SETUP
-#line 122 "uscan.l"
+#line 123 "uscan.l"
{
strappend(string_buf, yytext);
}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 126 "uscan.l"
+#line 127 "uscan.l"
{
/* escaped character (including quote) */
strappend(string_buf, yytext);
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 131 "uscan.l"
+#line 132 "uscan.l"
{ /* saw closing quote - all done */
strappend(string_buf, yytext);
yylval.strval = string_buf;
case 38:
YY_RULE_SETUP
-#line 143 "uscan.l"
+#line 144 "uscan.l"
{
yylval.strval = stralloc(yytext);
return PATH;
case 39:
/* rule 39 can match eol */
YY_RULE_SETUP
-#line 152 "uscan.l"
+#line 153 "uscan.l"
; /* whitespace */
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 165 "uscan.l"
+#line 166 "uscan.l"
ECHO;
YY_BREAK
-#line 1109 "uscan.c"
+#line 1110 "uscan.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(quotedpath):
yyterminate();
#define YYTABLES_NAME "yytables"
-#line 165 "uscan.l"
+#line 166 "uscan.l"