/[mailutils]/mailutils/mh/mh_init.c
ViewVC logotype

Diff of /mailutils/mh/mh_init.c

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

revision 1.12 by gray, Wed Sep 18 17:39:54 2002 UTC revision 1.13 by gray, Wed Sep 18 21:19:29 2002 UTC
# Line 81  mh_init2 () Line 81  mh_init2 ()
81                                                               "inbox"));                                                               "inbox"));
82    
83    mh_sequences_name = mh_profile_value ("mh-sequences", MH_SEQUENCES_FILE);    mh_sequences_name = mh_profile_value ("mh-sequences", MH_SEQUENCES_FILE);
84    asprintf (&seq_name, "%s/%s", current_folder+3, mh_sequences_name);    p = mh_expand_name (current_folder, 0);
85      asprintf (&seq_name, "%s/%s", p, mh_sequences_name);
86      free (p);
87    sequences = mh_context_create (seq_name, 1);    sequences = mh_context_create (seq_name, 1);
88    if (mh_context_read (sequences) == 0)    if (mh_context_read (sequences) == 0)
89      {      {
90        char *p = mh_context_get_value (sequences, "cur", "0");        p = mh_context_get_value (sequences, "cur", "0");
91        current_message = strtoul (p, NULL, 10);        current_message = strtoul (p, NULL, 10);
92      }      }
93  }  }
# Line 196  mh_get_my_name (char *name) Line 198  mh_get_my_name (char *name)
198    my_email = mu_get_user_email (name);    my_email = mu_get_user_email (name);
199  }  }
200    
   
201  int  int
202  mh_is_my_name (char *name)  mh_is_my_name (char *name)
203  {  {
# Line 215  mh_check_folder (char *pathname) Line 216  mh_check_folder (char *pathname)
216      p++;      p++;
217    else    else
218      p = pathname;      p = pathname;
219      
220    if (stat (p, &st))    if (stat (p, &st))
221      {      {
222        if (errno == ENOENT)        if (errno == ENOENT)
# Line 346  mh_message_number (message_t msg, size_t Line 347  mh_message_number (message_t msg, size_t
347  }  }
348    
349  mailbox_t  mailbox_t
350  mh_open_folder (const char *folder)  mh_open_folder (const char *folder, int create)
351  {  {
352    mailbox_t mbox = NULL;    mailbox_t mbox = NULL;
353    char *name;    char *name;
354      int flags = MU_STREAM_READ;
355      
356    name = mh_expand_name (folder, 1);    name = mh_expand_name (folder, 1);
357      if (create && mh_check_folder (name))
358        exit (0);
359        
360    if (mailbox_create_default (&mbox, name))    if (mailbox_create_default (&mbox, name))
361      {      {
362        mh_error ("Can't create mailbox %s: %s",        mh_error ("Can't create mailbox %s: %s",
# Line 359  mh_open_folder (const char *folder) Line 364  mh_open_folder (const char *folder)
364        exit (1);        exit (1);
365      }      }
366    
367    if (mailbox_open (mbox, MU_STREAM_READ))    if (create)
368        flags |= MU_STREAM_CREAT;
369      
370      if (mailbox_open (mbox, flags))
371      {      {
372        mh_error ("Can't open mailbox %s: %s", name, strerror (errno));        mh_error ("Can't open mailbox %s: %s", name, strerror (errno));
373        exit (1);        exit (1);
# Line 385  mh_get_dir () Line 393  mh_get_dir ()
393    return mhdir;    return mhdir;
394  }  }
395    
396  const char *  char *
397  mh_expand_name (const char *name, int is_folder)  mh_expand_name (const char *name, int is_folder)
398  {  {
399    char *tmp = NULL;    char *tmp = NULL;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

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