From 541e6b8a010da8ccebd63e9079be471aa463c368 Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 12 Sep 2025 10:07:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0?= =?UTF-8?q?=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APP/main.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/APP/main.c b/APP/main.c index b13af6f..23128ec 100644 --- a/APP/main.c +++ b/APP/main.c @@ -110,7 +110,7 @@ int main(int argc, char *argv[]) { timestamp -= offset_seconds; } } else { - printf("Parsing timestamp (UTC) error"); + printf("Parsing timestamp (UTC) error\n"); fflush(stdout); return 1; } @@ -120,13 +120,13 @@ int main(int argc, char *argv[]) { printf("timestamp: %u\n", msd.MSD_Data.timestamp); } else { - printf("Parsing timestamp error"); + printf("Parsing timestamp error\n"); fflush(stdout); return 1; } } else { - printf("Parsing JSON timestamp error"); + printf("Parsing JSON timestamp error\n"); fflush(stdout); return 1; } @@ -185,12 +185,12 @@ int main(int argc, char *argv[]) { EraGlonassMsdSetPositionValue(&msd, msd.MSD_Data.pos.lon, msd.MSD_Data.pos.lat, 0, 2); } else { - printf("Parsing coordinate error"); + printf("Parsing coordinate error\n"); fflush(stdout); return 1; } } else { - printf("Parsing JSON coordinate error"); + printf("Parsing JSON coordinate error\n"); fflush(stdout); return 1; } @@ -198,7 +198,7 @@ int main(int argc, char *argv[]) { if (cJSON_IsString(phoneJS) && (phoneJS->valuestring != NULL)) { printf("phone (JSON): %s\n", phoneJS->valuestring); } else { - printf("Parsing JSON phone error"); + printf("Parsing JSON phone error\n"); fflush(stdout); return 1; } @@ -206,11 +206,17 @@ int main(int argc, char *argv[]) { if (cJSON_IsString(idJS) && (idJS->valuestring != NULL)) { printf("id (JSON): %s\n", idJS->valuestring); - char VIN[18] = {0}; + char VIN[17] = {0}; - memset(VIN, '0', 17); + if (strlen(idJS->valuestring) > sizeof(VIN)) { + printf("Length error id\n"); + fflush(stdout); + return 1; + } - memcpy(&VIN[17 - 5], idJS->valuestring, 5); + memset(VIN, '0', sizeof(VIN)); + + memcpy(&VIN[sizeof(VIN) - strlen(idJS->valuestring)], idJS->valuestring, strlen(idJS->valuestring)); // memcpy(&VIN[5], "1111111111", 10); EraGlonassMsdSetVIN(&msd, VIN, sizeof(VIN)); @@ -218,7 +224,7 @@ int main(int argc, char *argv[]) { printf("id (VIN): %s\n", VIN); } else { - printf("Parsing JSON id error"); + printf("Parsing JSON id error\n"); fflush(stdout); return 1; }