grabber: make sure grabbed_output always return a string

This commit is contained in:
Philippe Teuwen 2024-08-31 15:16:45 +02:00
commit 7eb71e0b06
2 changed files with 13 additions and 9 deletions

View file

@ -65,10 +65,10 @@ p = pm3.pm3()
p.console("hf 14a read") p.console("hf 14a read")
uid = None uid = None
if p.grabbed_output is not None: for line in p.grabbed_output.split('\n'):
for line in p.grabbed_output.split('\n'): print(line)
if "UID:" in line: if "UID:" in line:
uid = int(line[10:].replace(' ', '')[-8:], 16) uid = int(line[10:].replace(' ', '')[-8:], 16)
if uid is None: if uid is None:
print("Card not found") print("Card not found")

View file

@ -74,11 +74,15 @@ const char *pm3_name_get(pm3_device_t *dev) {
} }
const char *pm3_grabbed_output_get(pm3_device_t *dev) { const char *pm3_grabbed_output_get(pm3_device_t *dev) {
char *tmp = g_grabbed_output.ptr; if (g_grabbed_output.ptr != NULL) {
tmp[g_grabbed_output.size] = 0; char *tmp = g_grabbed_output.ptr;
g_grabbed_output.idx = 0; tmp[g_grabbed_output.size] = 0;
g_grabbed_output.size = 0; g_grabbed_output.idx = 0;
return tmp; g_grabbed_output.size = 0;
return tmp;
} else {
return "";
}
} }
pm3_device_t *pm3_get_current_dev(void) { pm3_device_t *pm3_get_current_dev(void) {