ncurses 6.0 - patch 20160528
[ncurses.git] / ncurses / tinfo / db_iterator.c
index 526d42546076f2d3eea6690e8c21cda82a2cb6d9..19f22c31634e787eea8f50a5766a8d3494c31423 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2006-2011,2012 Free Software Foundation, Inc.              *
+ * Copyright (c) 2006-2014,2016 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -43,7 +43,7 @@
 #include <hashed_db.h>
 #endif
 
-MODULE_ID("$Id: db_iterator.c,v 1.34 2012/06/30 16:30:10 tom Exp $")
+MODULE_ID("$Id: db_iterator.c,v 1.40 2016/05/28 23:22:52 tom Exp $")
 
 #define HaveTicDirectory _nc_globals.have_tic_directory
 #define KeepTicDirectory _nc_globals.keep_tic_directory
@@ -185,10 +185,12 @@ _nc_tic_dir(const char *path)
        if (path != 0) {
            TicDirectory = path;
            HaveTicDirectory = TRUE;
-       } else if (!HaveTicDirectory && use_terminfo_vars()) {
-           char *envp;
-           if ((envp = getenv("TERMINFO")) != 0)
-               return _nc_tic_dir(envp);
+       } else if (HaveTicDirectory == 0) {
+           if (use_terminfo_vars()) {
+               const char *envp;
+               if ((envp = getenv("TERMINFO")) != 0)
+                   return _nc_tic_dir(envp);
+           }
        }
     }
     return TicDirectory ? TicDirectory : TERMINFO;
@@ -258,7 +260,7 @@ _nc_first_db(DBDIRS * state, int *offset)
        size_t blobsize = 0;
        const char *values[dbdLAST];
        struct stat *my_stat;
-       int j, k;
+       int j;
 
        if (cache_has_expired)
            free_cache();
@@ -272,7 +274,7 @@ _nc_first_db(DBDIRS * state, int *offset)
         */
        values[dbdTIC] = TicDirectory;
 
-#if USE_DATABASE
+#if NCURSES_USE_DATABASE
 #ifdef TERMINFO_DIRS
        values[dbdCfgList] = TERMINFO_DIRS;
 #endif
@@ -281,19 +283,19 @@ _nc_first_db(DBDIRS * state, int *offset)
 #endif
 #endif
 
-#if USE_TERMCAP
+#if NCURSES_USE_TERMCAP
        values[dbdCfgList2] = TERMPATH;
 #endif
 
        if (use_terminfo_vars()) {
-#if USE_DATABASE
+#if NCURSES_USE_DATABASE
            values[dbdEnvOnce] = cache_getenv("TERMINFO", dbdEnvOnce);
            values[dbdHome] = _nc_home_terminfo();
            (void) cache_getenv("HOME", dbdHome);
            values[dbdEnvList] = cache_getenv("TERMINFO_DIRS", dbdEnvList);
 
 #endif
-#if USE_TERMCAP
+#if NCURSES_USE_TERMCAP
            values[dbdEnvOnce2] = cache_getenv("TERMCAP", dbdEnvOnce2);
            /* only use $TERMCAP if it is an absolute path */
            if (values[dbdEnvOnce2] != 0
@@ -301,7 +303,7 @@ _nc_first_db(DBDIRS * state, int *offset)
                values[dbdEnvOnce2] = 0;
            }
            values[dbdEnvList2] = cache_getenv("TERMPATH", dbdEnvList2);
-#endif /* USE_TERMCAP */
+#endif /* NCURSES_USE_TERMCAP */
        }
 
        for (j = 0; j < dbdLAST; ++j) {
@@ -328,7 +330,7 @@ _nc_first_db(DBDIRS * state, int *offset)
            my_list = typeCalloc(char *, blobsize);
            my_stat = typeCalloc(struct stat, blobsize);
            if (my_list != 0 && my_stat != 0) {
-               k = 0;
+               int k = 0;
                my_list[k++] = my_blob;
                for (j = 0; my_blob[j] != '\0'; ++j) {
                    if (my_blob[j] == NCURSES_PATHSEP) {
@@ -402,7 +404,7 @@ _nc_db_iterator_leaks(void)
        FreeAndNull(my_blob);
     if (my_list != 0)
        FreeAndNull(my_list);
-    for (which = 0; which < dbdLAST; ++which) {
+    for (which = 0; (int) which < dbdLAST; ++which) {
        my_vars[which].name = 0;
        FreeIfNeeded(my_vars[which].value);
        my_vars[which].value = 0;