/[gnats]/gnats/gnats/ds-file/pr.c
ViewVC logotype

Diff of /gnats/gnats/ds-file/pr.c

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

revision 1.1 by hatzis, Sat Apr 23 05:15:21 2005 UTC revision 1.2 by amanou, Mon Nov 7 20:41:48 2005 UTC
# Line 94  pr_file_readable (const char *path, Erro Line 94  pr_file_readable (const char *path, Erro
94  }  }
95    
96  static char *  static char *
97  get_pr_path (const DatabaseInfo database, PR *pr, const char *prnum,  get_pr_path (const DatabaseInfo database, PR *pr, const char *prnum)
             ErrorDesc *err)  
98  {  {
99    char *path = NULL;    char *path = NULL;
100    const char *category = NULL;    const char *category = NULL;
   char *categoryFromIndex = NULL;  
101    
102    if (pr != NULL)    if (pr != NULL)
103      {      {
104        category = field_value (pr, CATEGORY (database));        category = field_value (pr, CATEGORY (database));
105      }      }
   else  
     {  
       categoryFromIndex = getCategoryFromIndex (database, prnum, err);  
       category = categoryFromIndex;  
     }  
106    
107    if (category != NULL)    if (category != NULL)
108      {      {
109        asprintf (&path, "%s/%s/%s", databaseDir (database), category, prnum);        asprintf (&path, "%s/%s/%s", databaseDir (database), category, prnum);
       if (categoryFromIndex != NULL)  
         {  
           free (categoryFromIndex);  
         }  
110      }      }
111    
112    return path;    return path;
# Line 244  pr_load_by_id (const DatabaseInfo databa Line 233  pr_load_by_id (const DatabaseInfo databa
233  {  {
234    PR *pr = NULL;    PR *pr = NULL;
235    PR *index_pr = get_pr_from_index (database, prnum, err);    PR *index_pr = get_pr_from_index (database, prnum, err);
236    char *path = get_pr_path (database, index_pr, prnum, err);    char *path = get_pr_path (database, index_pr, prnum);
237    
238    if (path != NULL)    if (path != NULL)
239      {      {
# Line 305  int Line 294  int
294  pr_exists (const DatabaseInfo database, const char *prnum, ErrorDesc *err)  pr_exists (const DatabaseInfo database, const char *prnum, ErrorDesc *err)
295  {  {
296    PR *pr = get_pr_from_index (database, prnum, err);    PR *pr = get_pr_from_index (database, prnum, err);
297    char *path = get_pr_path (database, pr, prnum, err);    char *path = get_pr_path (database, pr, prnum);
298    int res = 0;    int res = 0;
299    if (path != NULL)    if (path != NULL)
300      {      {
# Line 568  pr_delete (const DatabaseInfo database, Line 557  pr_delete (const DatabaseInfo database,
557    char *path = NULL;    char *path = NULL;
558    
559    pr = get_pr_from_index (database, prnum, err);    pr = get_pr_from_index (database, prnum, err);
560    path = get_pr_path (database, pr, prnum, err);    path = get_pr_path (database, pr, prnum);
561    
562    if (path == NULL || !pr_file_readable (path, err))    if (path == NULL || !pr_file_readable (path, err))
563      {      {

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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