/*
* 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"
-#line 66 "uscan.l"
+#line 67 "uscan.l"
static char *string_buf = NULL;
-#line 631 "uscan.c"
+#line 632 "uscan.c"
#define INITIAL 0
#define quotedstring 1
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 69 "uscan.l"
+#line 70 "uscan.l"
/* literal keyword tokens */
-#line 827 "uscan.c"
+#line 828 "uscan.c"
if ( !(yy_init) )
{
case 1:
YY_RULE_SETUP
-#line 75 "uscan.l"
+#line 76 "uscan.l"
{ BEGIN(needstring); return LISTHOST; }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 76 "uscan.l"
+#line 77 "uscan.l"
{ BEGIN(needstring); return LISTDISK; }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 77 "uscan.l"
+#line 78 "uscan.l"
{ BEGIN(needstring); return LISTPROPERTY; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 78 "uscan.l"
+#line 79 "uscan.l"
{ BEGIN(needstring); return SETHOST; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 79 "uscan.l"
+#line 80 "uscan.l"
{ BEGIN(needstring); return SETDISK; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 80 "uscan.l"
+#line 81 "uscan.l"
{ BEGIN(needstring); return SETDATE; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 81 "uscan.l"
+#line 82 "uscan.l"
{ BEGIN(needmode); return SETMODE; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 82 "uscan.l"
+#line 83 "uscan.l"
{ BEGIN(needstring); return SETTAPE; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 83 "uscan.l"
+#line 84 "uscan.l"
{ BEGIN(needdevice); return SETDEVICE; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 84 "uscan.l"
+#line 85 "uscan.l"
{ BEGIN(propertyappend); return SETPROPERTY; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 85 "uscan.l"
+#line 86 "uscan.l"
{ BEGIN(needstring); return SETTRANSLATE; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 86 "uscan.l"
+#line 87 "uscan.l"
{ BEGIN(needstring); return DASH_H; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 87 "uscan.l"
+#line 88 "uscan.l"
{ BEGIN(needstring); return CD; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 88 "uscan.l"
+#line 89 "uscan.l"
{ BEGIN(needstring); return CDX; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 89 "uscan.l"
+#line 90 "uscan.l"
{ BEGIN(needstring); return QUIT; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 90 "uscan.l"
+#line 91 "uscan.l"
{ BEGIN(needstring); return QUIT; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 91 "uscan.l"
+#line 92 "uscan.l"
{ BEGIN(needstring); return DHIST; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 92 "uscan.l"
+#line 93 "uscan.l"
{ BEGIN(needstring); return LS; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 93 "uscan.l"
+#line 94 "uscan.l"
{ BEGIN(needstring); return ADD; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 94 "uscan.l"
+#line 95 "uscan.l"
{ BEGIN(needstring); return ADDX; }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 95 "uscan.l"
+#line 96 "uscan.l"
{ BEGIN(needstring); return LIST; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 96 "uscan.l"
+#line 97 "uscan.l"
{ BEGIN(needstring); return DELETE; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 97 "uscan.l"
+#line 98 "uscan.l"
{ BEGIN(needstring); return DELETEX; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 98 "uscan.l"
+#line 99 "uscan.l"
{ BEGIN(needstring); return PWD; }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 99 "uscan.l"
+#line 100 "uscan.l"
{ BEGIN(needstring); return CLEAR; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 100 "uscan.l"
+#line 101 "uscan.l"
{ BEGIN(INITIAL); return HELP; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 101 "uscan.l"
+#line 102 "uscan.l"
{ BEGIN(needstring); return HELP; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 102 "uscan.l"
+#line 103 "uscan.l"
{ BEGIN(needstring); return LCD; }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 103 "uscan.l"
+#line 104 "uscan.l"
{ BEGIN(needstring); return LPWD; }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 104 "uscan.l"
+#line 105 "uscan.l"
{ BEGIN(needstring); return EXTRACT; }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 105 "uscan.l"
+#line 106 "uscan.l"
{ BEGIN(needstring); return MODE; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 106 "uscan.l"
+#line 107 "uscan.l"
{ BEGIN(needstring); return TAR; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 107 "uscan.l"
+#line 108 "uscan.l"
{ BEGIN(needstring); return SMB; }
YY_BREAK
case 34:
/* rule 34 can match eol */
YY_RULE_SETUP
-#line 108 "uscan.l"
+#line 109 "uscan.l"
{ BEGIN(INITIAL); return NL; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 114 "uscan.l"
+#line 115 "uscan.l"
{
BEGIN(propertypriority);
return APPEND;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 119 "uscan.l"
+#line 120 "uscan.l"
{
BEGIN(needstring);
return PRIORITY;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 124 "uscan.l"
+#line 125 "uscan.l"
{
if(string_buf != NULL) {
g_printf("ERROR:string_buf != NULL: %s\n",string_buf);
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 132 "uscan.l"
+#line 133 "uscan.l"
{
strappend(string_buf, yytext);
}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 136 "uscan.l"
+#line 137 "uscan.l"
{
/* escaped character (including quote) */
strappend(string_buf, yytext);
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 141 "uscan.l"
+#line 142 "uscan.l"
{ /* saw closing quote - all done */
strappend(string_buf, yytext);
yylval.strval = string_buf;
case 41:
/* rule 41 can match eol */
YY_RULE_SETUP
-#line 149 "uscan.l"
+#line 150 "uscan.l"
{
fprintf(stderr,"Unterminated quoted string\n");
string_buf = NULL;
case 42:
YY_RULE_SETUP
-#line 160 "uscan.l"
+#line 161 "uscan.l"
{
yylval.strval = stralloc(yytext);
BEGIN(needstring);
case 43:
/* rule 43 can match eol */
YY_RULE_SETUP
-#line 170 "uscan.l"
+#line 171 "uscan.l"
; /* whitespace */
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 183 "uscan.l"
+#line 184 "uscan.l"
ECHO;
YY_BREAK
-#line 1183 "uscan.c"
+#line 1184 "uscan.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(quotedstring):
case YY_STATE_EOF(needdevice):
#define YYTABLES_NAME "yytables"
-#line 183 "uscan.l"
+#line 184 "uscan.l"