From 322487ca91c98b6df2611f5290ba32a946eef5f0 Mon Sep 17 00:00:00 2001 From: rocky Date: Sun, 8 Aug 2004 03:11:11 +0000 Subject: [PATCH] Print hardware serial number if given by feature. --- example/sample10.c | 13 ++++++++++--- src/util.c | 12 ++++++------ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/example/sample10.c b/example/sample10.c index ad83bdd7..3d1e950b 100644 --- a/example/sample10.c +++ b/example/sample10.c @@ -1,5 +1,5 @@ /* - $Id: sample10.c,v 1.5 2004/08/07 09:42:34 rocky Exp $ + $Id: sample10.c,v 1.6 2004/08/08 03:11:11 rocky Exp $ Copyright (C) 2004 Rocky Bernstein @@ -286,9 +286,16 @@ main(int argc, const char *argv[]) printf("Ability to perform DVD CSS/CPPM authentication and" " RPC\n"); break; - case CDIO_MMC_FEATURE_LU_SN: - printf("The Logical Unit has a unique identifier\n"); + case CDIO_MMC_FEATURE_LU_SN: { + uint8_t i_serial = *(p+3); + char serial[257] = { '\0', }; + + printf("The Logical Unit has a unique identifier:\n"); + memcpy(serial, p+4, i_serial); + printf("\t%s\n\n", serial); + break; + } default: printf("Unknown feature code %x\n", i_feature); } diff --git a/src/util.c b/src/util.c index 9b1776d8..c32d07d4 100644 --- a/src/util.c +++ b/src/util.c @@ -1,5 +1,5 @@ /* - $Id: util.c,v 1.18 2004/08/08 03:03:10 rocky Exp $ + $Id: util.c,v 1.19 2004/08/08 03:11:11 rocky Exp $ Copyright (C) 2003, 2004 Rocky Bernstein @@ -344,12 +344,12 @@ print_mmc_drive_features(CdIo *p_cdio) printf("\t\n"); break; case CDIO_MMC_FEATURE_LU_SN: { - char *psz_serial_num = (char *) p+4; + uint8_t i_serial = *(p+3); + char serial[257] = { '\0', }; + printf("The Logical Unit has a unique identifier:\n"); -#if 0 - buf[499] = '\0'; - printf("\t%s\n\n", psz_serial_num); -#endif + memcpy(serial, p+4, i_serial); + printf("\t%s\n\n", serial); break; }