diff options
Diffstat (limited to '')
| -rw-r--r-- | gpgme/rungpg.c | 24 | 
1 files changed, 16 insertions, 8 deletions
| diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c index 70293f83..5618f849 100644 --- a/gpgme/rungpg.c +++ b/gpgme/rungpg.c @@ -483,18 +483,26 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)  	rc = gpg_error_from_errno (errno);        else  	{ -	  rc = add_arg (gpg, "--ttyname"); -	  if (!rc) -	    rc = add_arg (gpg, dft_ttyname); -	  if (!rc) +          if (dft_ttyname) +            { +              rc = add_arg (gpg, "--ttyname"); +              if (!rc) +                rc = add_arg (gpg, dft_ttyname); +            } +          else +            rc = 0; +          if (!rc)  	    {  	      rc = _gpgme_getenv ("TERM", &dft_ttytype);  	      if (rc)  		goto leave; - -	      rc = add_arg (gpg, "--ttytype"); -	      if (!rc) -		rc = add_arg (gpg, dft_ttytype); +               +              if (dft_ttytype) +                { +                  rc = add_arg (gpg, "--ttytype"); +                  if (!rc) +                    rc = add_arg (gpg, dft_ttytype); +                }  	      free (dft_ttytype);  	    } | 
