- Now use a 60 second timeout for reading USB backchannel data (Issue #160)
- The USB backend now tries harder to find a serial number (Issue #170)
- Fixed `@IF(name)` handling in `cupsd.conf` (Apple #5918)
+- Fixed the `lpc` command prompt (Apple #5946)
- Now always pass "localhost" in the `Host:` header when talking over a domain
socket or the loopback interface (Issue #185)
- Fixed a job history update issue in the scheduler (Issue #187)
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.
*/