/[mailutils]/mailutils/mail/set.c
ViewVC logotype

Diff of /mailutils/mail/set.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by gray, Mon Nov 12 13:16:08 2001 UTC revision 1.9 by gray, Wed Aug 7 15:27:41 2002 UTC
# Line 35  mail_set (int argc, char **argv) Line 35  mail_set (int argc, char **argv)
35    else    else
36      {      {
37        int i = 0;        int i = 0;
38        char *value = NULL;  
       struct mail_env_entry *entry = NULL;  
39        for (i = 1; i < argc; i++)        for (i = 1; i < argc; i++)
40          {          {
41            if (!strncmp ("no", argv[i], 2))            if (!strncmp ("no", argv[i], 2))
42              {              {
43                entry = util_find_env (&argv[i][2]);                util_setenv (&argv[i][2], NULL, Mail_env_boolean, 1);
               if (entry == NULL)  
                 return 1;  
               entry->set = 0;  
               if (entry->value)  
                 free (entry->value);  
               entry->value = NULL;  
44              }              }
45            else if (i+1 < argc && argv[i+1][0] == '=')            else if (i+1 < argc && argv[i+1][0] == '=')
46              {              {
47                entry = util_find_env (argv[i]);                int nval;
48                if (entry == NULL)                char *name = argv[i];
49                  return 1;                char *p;
50                  
51                i += 2;                i += 2;
52                if (i >= argc)                if (i >= argc)
53                  break;                  break;
54                value = strdup (argv[i]);  
55                entry->set = 1;                nval = strtoul (argv[i], &p, NULL);
56                if (entry->value)                if (*p == 0)
57                  free (entry->value);                  util_setenv (name, &nval, Mail_env_number, 1);
58                entry->value = value;                else
59                    util_setenv (name, argv[i], Mail_env_string, 1);
60              }              }
61            else            else
62              {              {
63                entry = util_find_env(argv[i]);                int dummy;
64                if (entry == NULL)                util_setenv (argv[i], &dummy, Mail_env_boolean, 1);
                 return 1;  
               entry->set = 1;  
               if (entry->value)  
                 free (entry->value);  
               entry->value = NULL;  
65              }              }
66          }          }
67        return 0;        return 0;

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26