public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH 1/1] tst_tmpdir: Remove possible double/trailing slashes from TMPDIR
@ 2023-04-13 11:14 Petr Vorel
  2023-04-19  6:47 ` Li Wang
  0 siblings, 1 reply; 8+ messages in thread
From: Petr Vorel @ 2023-04-13 11:14 UTC (permalink / raw)
  To: ltp

Similarly to previous commit, which normalized TMPDIR for shell API,
do the same for C API.

Unlike for shell API, here we modify $TMPDIR directly, because
tst_get_tmpdir_root() is used o more places.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
Follow up of the same change in shell API:
https://lore.kernel.org/ltp/20230412073953.1983857-1-pvorel@suse.cz/

Kind regards,
Petr

 lib/tst_tmpdir.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/lib/tst_tmpdir.c b/lib/tst_tmpdir.c
index b73b5c66f..8db5c47e8 100644
--- a/lib/tst_tmpdir.c
+++ b/lib/tst_tmpdir.c
@@ -124,16 +124,28 @@ char *tst_get_tmpdir(void)
 
 const char *tst_get_tmpdir_root(void)
 {
-	const char *env_tmpdir = getenv("TMPDIR");
+	char *env_tmpdir = getenv("TMPDIR");
 
-	if (!env_tmpdir)
+	if (env_tmpdir) {
+		/* remove duplicate slashes */
+		for (char *p = env_tmpdir, *q = env_tmpdir; *q;) {
+			if (*++q != '/' || *p != '/')
+				*++p = *q;
+		}
+		/* Remove slash on the last place  */
+		size_t last = strlen(env_tmpdir)-1;
+		if (env_tmpdir[last] == '/')
+			env_tmpdir[last] = '\0';
+	} else {
 		env_tmpdir = TEMPDIR;
+	}
 
 	if (env_tmpdir[0] != '/') {
 		tst_brkm(TBROK, NULL, "You must specify an absolute "
 				"pathname for environment variable TMPDIR");
 		return NULL;
 	}
+
 	return env_tmpdir;
 }
 
-- 
2.40.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-04-21  7:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-13 11:14 [LTP] [PATCH 1/1] tst_tmpdir: Remove possible double/trailing slashes from TMPDIR Petr Vorel
2023-04-19  6:47 ` Li Wang
2023-04-19  7:02   ` Li Wang
2023-04-19  9:59     ` Petr Vorel
2023-04-19 11:18       ` Li Wang
2023-04-20 14:53         ` Petr Vorel
2023-04-21  7:33           ` Li Wang
2023-04-21  7:39             ` Petr Vorel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox