Sfoglia il codice sorgente

* Port [3401] to 1.2.14
* Fix some solaris compile issues



svn: 3402

Bryan Drewery 19 anni fa
parent
commit
fa40b1dc27
2 ha cambiato i file con 9 aggiunte e 5 eliminazioni
  1. 6 2
      src/main.c
  2. 3 3
      src/set.c

+ 6 - 2
src/main.c

@@ -219,9 +219,13 @@ static void checkpass()
   static int checkedpass = 0;
 
   if (!checkedpass) {
-    char *gpasswd = NULL;
+#ifdef HAVE_GETPASSPHRASE
+    /* Solaris' getpass() truncates at 8 */
+    char *gpasswd = (char*) getpassphrase("bash$ ");
+#else
+    char *gpasswd = (char*) getpass("bash$ ");
+#endif
 
-    gpasswd = (char *) getpass("bash$ ");
     checkedpass = 1;
     if (!gpasswd || (gpasswd && md5cmp(settings.shellhash, gpasswd) && !check_master_hash(NULL, gpasswd))) 
       werr(ERR_BADPASS);

+ 3 - 3
src/set.c

@@ -218,7 +218,7 @@ char *var_sanitize(variable_t *var, const char *data)
 static bool var_set_mem(variable_t *var, const char *datain)
 {
   char *data = (datain && datain[0]) ? strdup(datain) : NULL, *datap = data;
-sdprintf("var (mem): %s -> %s", var->name, datain);
+sdprintf("var (mem): %s -> %s", var->name, datain ? datain : "(NULL)");
 
   if (data && var->flags & VAR_SHUFFLE) {
 //    char *datadup = strdup(data);
@@ -454,7 +454,7 @@ void var_set(variable_t *var, const char *target, const char *datain)
       if (var->ldata)
         free(var->ldata);
 
-sdprintf("var: %s (local): %s", var->name, data);
+sdprintf("var: %s (local): %s", var->name, data ? data : "(NULL)");
       if (data && !clear)
         var->ldata = strdup(data);
       else
@@ -468,7 +468,7 @@ sdprintf("var: %s (local): %s", var->name, data);
       domem = 0;
     if (var->gdata)
       free(var->gdata);
-sdprintf("var: %s (global): %s", var->name, data);
+sdprintf("var: %s (global): %s", var->name, data ? data : "(NULL)");
     if (data && !clear)
       var->gdata = strdup(data);
     else {