static bool All_forts = FALSE; /* any fortune allowed */
static bool Equal_probs = FALSE; /* scatter un-allocated prob equally */
static bool Show_filename = FALSE;
+static bool No_recode = FALSE; /* Do we want to stop recoding from occuring */
static bool ErrorMessage = FALSE; /* Set to true if an error message has been displayed */
#define OFFENSIVE_GETOPT "o"
#endif
- while ((ch = getopt(argc, argv, "ac" DEBUG_GETOPT "efilm:n:" OFFENSIVE_GETOPT "svw")) != EOF)
+ while ((ch = getopt(argc, argv, "ac" DEBUG_GETOPT "efilm:n:" OFFENSIVE_GETOPT "suvw")) != EOF)
switch (ch)
{
case 'a': /* any fortune */
ignore_case++;
break;
#endif /* NO_REGEX */
+ case 'u': /* Don't recode the fortune */
+ No_recode = TRUE;
+ break;
case 'v':
(void) printf("%s\n", program_version());
exit(0);
*sp = '\0';
nchar = (int)(sp - Fortbuf);
- if (fp->utf8_charset)
+ if (fp->utf8_charset && (! No_recode))
{
#ifdef WITH_RECODE
output = recode_string (request, (const char *)Fortbuf);
printf("%c\n", fp->tbl.str_delim);
}
- if (fp->utf8_charset)
+ if (fp->utf8_charset && (! No_recode))
free (output);
sp = Fortbuf;
*p = 'a' + (ch - 'a' + 13) % 26;
}
}
- if(fp->utf8_charset) {
+ if (fp->utf8_charset && (! No_recode)) {
char *output;
#ifdef WITH_RECODE
output = recode_string (request, (const char *)line);