From 2e153faa866cedaadff3afd14c09f7653503aa83 Mon Sep 17 00:00:00 2001 From: NotLe0n Date: Sat, 22 Jun 2024 17:35:59 +0200 Subject: [PATCH] added error handling to windows path functions --- lib/stdlib/Duden/Pfade.ddp | 1 + lib/stdlib/source/path.c | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/stdlib/Duden/Pfade.ddp b/lib/stdlib/Duden/Pfade.ddp index dec53078..cb981f0a 100644 --- a/lib/stdlib/Duden/Pfade.ddp +++ b/lib/stdlib/Duden/Pfade.ddp @@ -1,5 +1,6 @@ Binde "Duden/Texte" ein. Binde "Duden/Zeichen" ein. +Binde "Duden/Fehlerbehandlung" ein. Binde Betriebssystem und Arbeitsverzeichnis aus "Duden/Laufzeit" ein. [ diff --git a/lib/stdlib/source/path.c b/lib/stdlib/source/path.c index 06b751c9..abad2c5b 100644 --- a/lib/stdlib/source/path.c +++ b/lib/stdlib/source/path.c @@ -1,10 +1,13 @@ #include "ddpmemory.h" #include "ddptypes.h" #include "winapi-path.h" +#include #include +#include "error.h" // TODO: Use PathCchCanonicalize void Windows_Saeubern(ddpstring *ret, ddpstring *path) { + DDP_MIGHT_ERROR; if (ddp_strlen(path) + 1 >= DDP_MAX_WIN_PATH) { *ret = DDP_EMPTY_STRING; return; @@ -12,7 +15,7 @@ void Windows_Saeubern(ddpstring *ret, ddpstring *path) { char cleaned[DDP_MAX_WIN_PATH]; if (!PathCanonicalize(cleaned, path->str)) { - // TODO: Error Handling + ddp_error("Pfad konnte nicht gesäubert werden", false); *ret = DDP_EMPTY_STRING; return; } @@ -26,6 +29,7 @@ void Windows_Saeubern(ddpstring *ret, ddpstring *path) { // TODO: Use PathCchCombine void Windows_Pfad_Verbinden(ddpstring *ret, ddpstring *a, ddpstring *b) { + DDP_MIGHT_ERROR; if (ddp_strlen(a) + 1 + ddp_strlen(b) + 1 >= DDP_MAX_WIN_PATH) { *ret = DDP_EMPTY_STRING; return; @@ -33,7 +37,7 @@ void Windows_Pfad_Verbinden(ddpstring *ret, ddpstring *a, ddpstring *b) { char joined[DDP_MAX_WIN_PATH]; if (!PathCombine(joined, a->str, b->str)) { - // TODO: Error Handling + ddp_error("Pfad konnte nicht verbunden werden", false); *ret = DDP_EMPTY_STRING; return; }