mmcli: prefix all NMEA traces in order to get a pretty print
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <libmm-glib.h>
|
||||
|
||||
@@ -1110,3 +1111,40 @@ mmcli_get_common_sms_string (void)
|
||||
{
|
||||
return sms_str;
|
||||
}
|
||||
|
||||
gchar *
|
||||
mmcli_prefix_newlines (const gchar *prefix,
|
||||
const gchar *str)
|
||||
{
|
||||
GString *prefixed_string = NULL;
|
||||
const gchar *line_start = str;
|
||||
const gchar *line_end;
|
||||
|
||||
while ((line_end = strchr (line_start, '\n'))) {
|
||||
gssize line_length;
|
||||
|
||||
line_length = line_end - line_start;
|
||||
if (line_start[line_length - 1] == '\r')
|
||||
line_length--;
|
||||
|
||||
if (line_length > 0) {
|
||||
if (prefixed_string) {
|
||||
/* If not the first line, add the prefix */
|
||||
g_string_append_printf (prefixed_string,
|
||||
"\n%s", prefix);
|
||||
} else {
|
||||
prefixed_string = g_string_new ("");
|
||||
}
|
||||
|
||||
g_string_append_len (prefixed_string,
|
||||
line_start,
|
||||
line_length);
|
||||
}
|
||||
|
||||
line_start = line_end + 1;
|
||||
}
|
||||
|
||||
return (prefixed_string ?
|
||||
g_string_free (prefixed_string, FALSE) :
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -85,4 +85,7 @@ const gchar *mmcli_get_common_bearer_string (void);
|
||||
const gchar *mmcli_get_common_sim_string (void);
|
||||
const gchar *mmcli_get_common_sms_string (void);
|
||||
|
||||
gchar *mmcli_prefix_newlines (const gchar *prefix,
|
||||
const gchar *str);
|
||||
|
||||
#endif /* _MMCLI_COMMON_H_ */
|
||||
|
||||
@@ -342,10 +342,13 @@ get_location_process_reply (MMLocation3gpp *location_3gpp,
|
||||
full = mm_location_gps_nmea_build_full (location_gps_nmea);
|
||||
|
||||
if (full) {
|
||||
gchar *prefixed;
|
||||
|
||||
prefixed = mmcli_prefix_newlines (" | ", full);
|
||||
g_print (" -------------------------\n"
|
||||
" GPS NMEA traces |\n"
|
||||
" %s\n",
|
||||
full);
|
||||
" GPS NMEA traces | %s\n",
|
||||
prefixed);
|
||||
g_free (prefixed);
|
||||
g_free (full);
|
||||
} else
|
||||
g_print (" -------------------------\n"
|
||||
|
||||
+2
-40
@@ -23,7 +23,6 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <locale.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <gio/gio.h>
|
||||
@@ -216,43 +215,6 @@ cancelled (GCancellable *cancellable)
|
||||
mmcli_async_operation_done ();
|
||||
}
|
||||
|
||||
static gchar *
|
||||
prefix_newlines (const gchar *prefix,
|
||||
const gchar *str)
|
||||
{
|
||||
GString *prefixed_string = NULL;
|
||||
const gchar *line_start = str;
|
||||
const gchar *line_end;
|
||||
|
||||
while ((line_end = strchr (line_start, '\n'))) {
|
||||
gssize line_length;
|
||||
|
||||
line_length = line_end - line_start;
|
||||
if (line_start[line_length - 1] == '\r')
|
||||
line_length--;
|
||||
|
||||
if (line_length > 0) {
|
||||
if (prefixed_string) {
|
||||
/* If not the first line, add the prefix */
|
||||
g_string_append_printf (prefixed_string,
|
||||
"\n%s", prefix);
|
||||
} else {
|
||||
prefixed_string = g_string_new ("");
|
||||
}
|
||||
|
||||
g_string_append_len (prefixed_string,
|
||||
line_start,
|
||||
line_length);
|
||||
}
|
||||
|
||||
line_start = line_end + 1;
|
||||
}
|
||||
|
||||
return (prefixed_string ?
|
||||
g_string_free (prefixed_string, FALSE) :
|
||||
NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
print_bearer_short_info (MMBearer *bearer)
|
||||
{
|
||||
@@ -316,8 +278,8 @@ print_modem_info (void)
|
||||
own_numbers_string = NULL;
|
||||
|
||||
/* Rework possible multiline strings */
|
||||
prefixed_revision = prefix_newlines (" | ",
|
||||
mm_modem_get_revision (ctx->modem));
|
||||
prefixed_revision = mmcli_prefix_newlines (" | ",
|
||||
mm_modem_get_revision (ctx->modem));
|
||||
|
||||
/* Global IDs */
|
||||
g_print ("\n"
|
||||
|
||||
Reference in New Issue
Block a user