home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / b / bmh02src.zip / NAME.C < prev    next >
C/C++ Source or Header  |  1992-08-16  |  908b  |  47 lines

  1. /*
  2.    name.c : Copyright Paul Healy, EI9GL, 1992.
  3.  
  4.    920808 : Created
  5. */
  6. #include <string.h>
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include "name.h"
  10. #include "misc.h"
  11. #include "rc.h"
  12. #include "current.h"
  13.  
  14. static char *Extension[] = {
  15.       "",
  16.       ".new",
  17.       ".old",
  18.       EXT
  19. };
  20.  
  21. char *
  22. getnm(Name n)
  23. {
  24.    static char *folder = NULL;
  25.    static char file[4][256];
  26.  
  27.    if ( (folder == NULL) || (strcmp(folder, currentfolder(NULL)) != 0) ) {
  28.       int i;
  29.  
  30.       for (i=0; i<last_name; i++)
  31.          file[i][0] = 0;
  32.  
  33.       if (folder != NULL)
  34.          free(folder);
  35.  
  36.       folder = strdup(currentfolder(NULL));
  37.       }
  38.  
  39.    if (file[BaseName][0] == 0)
  40.       sprintf(file[BaseName], "%s/%s", getrc(maildir), currentfolder(NULL));
  41.  
  42.    if ((n != BaseName) && (file[n][0] == 0))
  43.       sprintf(file[n], "%s%s", file[BaseName], Extension[n]);
  44.  
  45.    return file[n];
  46. }
  47.