*with_value_from, /* Attribute must have one of the values in this attribute */
*define_match, /* Variable to define on match */
*define_no_match, /* Variable to define on no-match */
- *define_value; /* Variable to define with value */
+ *define_value, /* Variable to define with value */
+ *display_match; /* Message to display on a match */
int repeat_limit, /* Maximum number of times to repeat */
repeat_match, /* Repeat test on match */
repeat_no_match, /* Repeat test on no match */
break;
}
+ if (found && expect->display_match && (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout())))
+ cupsFilePrintf(cupsFileStdout(), "CONT]\n\n%s\n\n %-68.68s [", expect->display_match, data->name);
+
if (found && expect->define_match)
{
_ippVarsSet(data->vars, expect->define_match, "1");
}
}
+ if (found && expect->display_match && (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout())))
+ cupsFilePrintf(cupsFileStdout(), "\n%s\n\n", expect->display_match);
+
if (found && expect->define_match)
_ippVarsSet(data->vars, expect->define_match, "1");
for (i = 0; i < data->num_statuses; i ++)
{
- if (data->statuses[i].if_defined)
- free(data->statuses[i].if_defined);
- if (data->statuses[i].if_not_defined)
- free(data->statuses[i].if_not_defined);
- if (data->statuses[i].define_match)
- free(data->statuses[i].define_match);
- if (data->statuses[i].define_no_match)
- free(data->statuses[i].define_no_match);
+ free(data->statuses[i].if_defined);
+ free(data->statuses[i].if_not_defined);
+ free(data->statuses[i].define_match);
+ free(data->statuses[i].define_no_match);
}
data->num_statuses = 0;
for (i = data->num_expects, expect = data->expects; i > 0; i --, expect ++)
{
free(expect->name);
- if (expect->of_type)
- free(expect->of_type);
- if (expect->same_count_as)
- free(expect->same_count_as);
- if (expect->if_defined)
- free(expect->if_defined);
- if (expect->if_not_defined)
- free(expect->if_not_defined);
- if (expect->with_value)
- free(expect->with_value);
- if (expect->define_match)
- free(expect->define_match);
- if (expect->define_no_match)
- free(expect->define_no_match);
- if (expect->define_value)
- free(expect->define_value);
+ free(expect->of_type);
+ free(expect->same_count_as);
+ free(expect->if_defined);
+ free(expect->if_not_defined);
+ free(expect->with_value);
+ free(expect->define_match);
+ free(expect->define_no_match);
+ free(expect->define_value);
+ free(expect->display_match);
}
data->num_expects = 0;
for (i = data->num_monitor_expects, expect = data->monitor_expects; i > 0; i --, expect ++)
{
free(expect->name);
- if (expect->of_type)
- free(expect->of_type);
- if (expect->same_count_as)
- free(expect->same_count_as);
- if (expect->if_defined)
- free(expect->if_defined);
- if (expect->if_not_defined)
- free(expect->if_not_defined);
- if (expect->with_value)
- free(expect->with_value);
- if (expect->define_match)
- free(expect->define_match);
- if (expect->define_no_match)
- free(expect->define_no_match);
- if (expect->define_value)
- free(expect->define_value);
+ free(expect->of_type);
+ free(expect->same_count_as);
+ free(expect->if_defined);
+ free(expect->if_not_defined);
+ free(expect->with_value);
+ free(expect->define_match);
+ free(expect->define_no_match);
+ free(expect->define_value);
+ free(expect->display_match);
}
data->num_monitor_expects = 0;
_cups_strcasecmp(token, "DEFINE-MATCH") &&
_cups_strcasecmp(token, "DEFINE-NO-MATCH") &&
_cups_strcasecmp(token, "DEFINE-VALUE") &&
+ _cups_strcasecmp(token, "DISPLAY-MATCH") &&
_cups_strcasecmp(token, "IF-DEFINED") &&
_cups_strcasecmp(token, "IF-NOT-DEFINED") &&
_cups_strcasecmp(token, "IN-GROUP") &&
return (0);
}
}
+ else if (!_cups_strcasecmp(token, "DISPLAY-MATCH"))
+ {
+ if (!_ippFileReadToken(f, temp, sizeof(temp)))
+ {
+ print_fatal_error(data, "Missing DISPLAY-MATCH message on line %d of \"%s\".", f->linenum, f->filename);
+ return (0);
+ }
+
+ if (data->last_expect)
+ {
+ data->last_expect->display_match = strdup(temp);
+ }
+ else
+ {
+ print_fatal_error(data, "DISPLAY-MATCH without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename);
+ return (0);
+ }
+ }
else if (!_cups_strcasecmp(token, "DELAY"))
{
/*
* Display the prompt...
*/
- cupsFilePrintf(cupsFileStdout(), "%s\n---- PRESS ANY KEY ----", message);
+ cupsFilePrintf(cupsFileStdout(), "\n%s\n\n---- PRESS ANY KEY ----", message);
#ifdef _WIN32
/*
_cups_strcasecmp(token, "DEFINE-MATCH") &&
_cups_strcasecmp(token, "DEFINE-NO-MATCH") &&
_cups_strcasecmp(token, "DEFINE-VALUE") &&
+ _cups_strcasecmp(token, "DISPLAY-MATCH") &&
_cups_strcasecmp(token, "IF-DEFINED") &&
_cups_strcasecmp(token, "IF-NOT-DEFINED") &&
_cups_strcasecmp(token, "IN-GROUP") &&
return (0);
}
}
+ else if (!_cups_strcasecmp(token, "DISPLAY-MATCH"))
+ {
+ if (!_ippFileReadToken(f, temp, sizeof(temp)))
+ {
+ print_fatal_error(data, "Missing DISPLAY-MATCH mesaage on line %d of \"%s\".", f->linenum, f->filename);
+ return (0);
+ }
+
+ if (data->last_expect)
+ {
+ data->last_expect->display_match = strdup(temp);
+ }
+ else
+ {
+ print_fatal_error(data, "DISPLAY-MATCH without a preceding EXPECT on line %d of \"%s\".", f->linenum, f->filename);
+ return (0);
+ }
+ }
else if (!_cups_strcasecmp(token, "OF-TYPE"))
{
if (!_ippFileReadToken(f, temp, sizeof(temp)))