directive in `cupsd.conf` (Issue #5733)
- Fixed `@IF(name)` handling in `cupsd.conf` (Issue #5918)
- The scheduler now supports the "everywhere" model directly (Issue #5919)
+- Fixed the `lpc` command prompt (Issue #5946)
- Fixed `job-pages-per-set` value for duplex print jobs.
static int compare_strings(const char *, const char *, size_t);
static void do_command(http_t *, const char *, const char *);
static void show_help(const char *);
+static void show_prompt(const char *message);
static void show_status(http_t *, const char *);
* Do the command prompt thing...
*/
- _cupsLangPuts(stdout, _("lpc> ")); /* TODO: Need no-newline version */
+ show_prompt(_("lpc> "));
while (fgets(line, sizeof(line), stdin) != NULL)
{
/*
* Nothing left, just show a prompt...
*/
- _cupsLangPuts(stdout, _("lpc> ")); /* TODO: Need no newline version */
+ show_prompt(_("lpc> "));
continue;
}
* Put another prompt out to the user...
*/
- _cupsLangPuts(stdout, _("lpc> ")); /* TODO: Need no newline version */
+ show_prompt(_("lpc> "));
}
}
}
+/*
+ * 'show_prompt()' - Show a localized prompt message.
+ */
+
+static void
+show_prompt(const char *message) /* I - Message string to use */
+{
+ ssize_t bytes; /* Number of bytes formatted */
+ char output[8192]; /* Message buffer */
+ cups_lang_t *lang = cupsLangDefault();
+ /* Default language */
+
+ /*
+ * Transcode to the destination charset and write the prompt...
+ */
+
+ if ((bytes = cupsUTF8ToCharset(output, (cups_utf8_t *)_cupsLangString(lang, message), sizeof(output), lang->encoding)) > 0)
+ {
+ fwrite(output, 1, (size_t)bytes, stdout);
+ fflush(stdout);
+ }
+}
+
+
/*
* 'show_status()' - Show printers.
*/