From e5a6cf0df9a2d23cb1bb7eaba334e758fd2f9958 Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Wed, 13 May 2026 08:51:16 -0400 Subject: [PATCH] Handled the case in which environment variable HOME is not set. See github issue tracker issue #490. There were two cases: When running without the Tk console, a NULL value was being passed to a string comparison. When running with the Tk console, two variables were not initialized. Both prolems have been fixed. --- tcltk/tkcon.tcl | 3 +++ utils/main.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tcltk/tkcon.tcl b/tcltk/tkcon.tcl index bb25659e..1f1b7cab 100755 --- a/tcltk/tkcon.tcl +++ b/tcltk/tkcon.tcl @@ -249,6 +249,9 @@ proc ::tkcon::Init {} { if {![info exists PRIV(histfile)]} { set PRIV(histfile) [file join $env($envHome) $histfile] } + } else { + set PRIV(rcfile) "" + set PRIV(histfile) "" } ## Handle command line arguments before sourcing resource file to diff --git a/utils/main.c b/utils/main.c index fe679d0f..3fabc6ca 100644 --- a/utils/main.c +++ b/utils/main.c @@ -988,7 +988,8 @@ mainInitFinal() } } - if (getcwd(cwd, 512) == NULL || strcmp(cwd, home) || (RCFileName[0] == '/')) + if (getcwd(cwd, 512) == NULL || ((home != NULL) && (strcmp(cwd, home))) + || (RCFileName[0] == '/')) { /* Read in the .magicrc file from the current directory, if */ /* different from HOME. */