The
--- a/dma.c
+++ b/dma.c
-@@ -82,10 +82,38 @@
+@@ -83,10 +83,40 @@
hostname(void)
{
static char name[MAXHOSTNAMELEN+1];
--
-+ int initialized = 0;
++ static int initialized = 0;
+ FILE *fp;
++ char *res;
+ size_t len;
+
+ if (initialized)
+ return (name);
-+
+
+ if (config->mailname != NULL && config->mailname[0] != '\0') {
+ snprintf(name, sizeof(name), "%s", config->mailname);
+ initialized = 1;
+ if (config->mailnamefile != NULL && config->mailnamefile[0] != '\0') {
+ fp = fopen(config->mailnamefile, "r");
+ if (fp != NULL) {
-+ if (fgets(name, sizeof(name), fp) != NULL) {
++ res = fgets(name, sizeof(name), fp);
++ fclose(fp);
++ if (res != NULL) {
+ len = strlen(name);
+ while (len > 0 &&
+ (name[len - 1] == '\r' ||
+ return (name);
+ }
+ }
-+ fclose(fp);
+ }
+ }
if (gethostname(name, sizeof(name)) != 0)