examples: Handle the cases where the print date is not set

This commit is contained in:
Marco Trevisan (Treviño) 2019-11-27 19:14:35 +01:00
parent 519b5acc91
commit 876924df6a
2 changed files with 19 additions and 9 deletions

View file

@ -153,14 +153,19 @@ on_list_completed (FpDevice *dev,
for (i = 0; i < prints->len; ++i) for (i = 0; i < prints->len; ++i)
{ {
FpPrint * print = prints->pdata[i]; FpPrint * print = prints->pdata[i];
const GDate *date = fp_print_get_enroll_date (print);
g_date_strftime (buf, G_N_ELEMENTS (buf), "%Y-%m-%d", g_print ("[%d] Print of %s finger for username %s", i + 1,
fp_print_get_enroll_date (print));
g_print ("[%d] Print of %s finger for username %s, enrolled "
"on %s. Description: %s\n", i + 1,
finger_to_string (fp_print_get_finger (print)), finger_to_string (fp_print_get_finger (print)),
fp_print_get_username (print), buf, fp_print_get_username (print));
fp_print_get_description (print));
if (date)
{
g_date_strftime (buf, G_N_ELEMENTS (buf), "%Y-%m-%d\0", date);
g_print (", enrolled on %s", buf);
}
g_print (". Description: %s\n", fp_print_get_description (print));
} }
if (prints->len) if (prints->len)

View file

@ -127,9 +127,14 @@ on_list_completed (FpDevice *dev, GAsyncResult *res, gpointer user_data)
if (fp_print_get_finger (print) == verify_data->finger && if (fp_print_get_finger (print) == verify_data->finger &&
g_strcmp0 (fp_print_get_username (print), g_get_user_name ()) == 0) g_strcmp0 (fp_print_get_username (print), g_get_user_name ()) == 0)
{ {
if (!verify_print || const GDate *verify_print_date = NULL;
(g_date_compare (fp_print_get_enroll_date (print), const GDate *print_date = fp_print_get_enroll_date (print);
fp_print_get_enroll_date (verify_print)) >= 0))
if (verify_print)
verify_print_date = fp_print_get_enroll_date (verify_print);
if (!verify_print || !print_date || !verify_print_date ||
g_date_compare (print_date, verify_print_date) >= 0)
verify_print = print; verify_print = print;
} }
} }