/[mailutils]/mailutils/mailbox/mu_argp.c
ViewVC logotype

Diff of /mailutils/mailbox/mu_argp.c

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

revision 1.7 by gray, Wed Aug 21 15:31:51 2002 UTC revision 1.8 by gray, Fri Aug 23 06:53:02 2002 UTC
# Line 44  Line 44 
44  #include <mailutils/mailbox.h>  #include <mailutils/mailbox.h>
45    
46  #include <argcv.h>  #include <argcv.h>
 #include <mu_asprintf.h>  
47    
48  #define ARG_LOG_FACILITY 1  #define ARG_LOG_FACILITY 1
49  #define ARG_LOCK_FLAGS 2  #define ARG_LOCK_FLAGS 2
# Line 638  mu_create_argcv (const char *capa[], Line 637  mu_create_argcv (const char *capa[],
637      }      }
638    else    else
639      {      {
640        char* userrc = NULL;        char *userrc = NULL;
641    
642        mu_asprintf(&userrc, "%s/mailutils", MU_USER_CONFIG_FILE);        userrc = malloc (sizeof (MU_USER_CONFIG_FILE) /* provides an extra slot
643                                                           for null byte as well */
644                           + 1 /* slash */
645                           + 9 /*mailutils*/);
646    
647        if (!userrc)        if (!userrc)
648          {          {
649            fprintf (stderr, "%s: not enough memory\n", progname);            fprintf (stderr, "%s: not enough memory\n", progname);
650            exit (1);            exit (1);
651          }          }
652          
653          sprintf(userrc, "%s/mailutils", MU_USER_CONFIG_FILE);
654        read_rc (progname, userrc, capa, &x_argc, &x_argv);        read_rc (progname, userrc, capa, &x_argc, &x_argv);
655                
656        free(userrc);        free(userrc);
# Line 654  mu_create_argcv (const char *capa[], Line 658  mu_create_argcv (const char *capa[],
658    
659    /* Add per-user, per-program config file. */    /* Add per-user, per-program config file. */
660    {    {
661      char* progrc = NULL;      char *progrc = NULL;
662        int size;
663            
664      if(rcdir)      if (rcdir)
665        mu_asprintf(&progrc, "%s/%src", MU_USER_CONFIG_FILE, progname);        size = sizeof (MU_USER_CONFIG_FILE)
666                         + 1
667                         + strlen (progname)
668                         + 2 /* rc */;
669      else      else
670        mu_asprintf(&progrc, "~/.mu.%src", progname);        size = 6 /*~/.mu.*/
671                 + strlen (progname)
672                 + 3 /* "rc" + null terminator */;
673    
674        progrc = malloc (size);
675    
676      if (!progrc)      if (!progrc)
677        {        {
# Line 667  mu_create_argcv (const char *capa[], Line 679  mu_create_argcv (const char *capa[],
679          exit (1);          exit (1);
680        }        }
681    
682        if (rcdir)
683          sprintf (progrc, "%s/%src", MU_USER_CONFIG_FILE, progname);
684        else
685          sprintf (progrc, "~/.mu.%src", progname);
686    
687      read_rc (NULL, progrc, capa, &x_argc, &x_argv);      read_rc (NULL, progrc, capa, &x_argc, &x_argv);
688      free (progrc);      free (progrc);
689    }    }

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

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