Changes to gnats/gnats/pr-edit.c

"Andrew J. Gray" <[email protected]> Sat, 30 Aug 2003 03:58:15 -0400
Newsgroups gmane.comp.bug-tracking.gnats.patches
Message-ID <[email protected]>
Index: gnats/gnats/pr-edit.c
diff -c gnats/gnats/pr-edit.c:1.37 gnats/gnats/pr-edit.c:1.38
*** gnats/gnats/pr-edit.c:1.37	Fri Nov  1 04:02:23 2002
--- gnats/gnats/pr-edit.c	Sat Aug 30 03:58:14 2003
***************
*** 43,48 ****
--- 43,49 ----
  } edit_options;
  
  #define DELETE_PR_OPT 256
+ #define SHOW_PRNUM_OPT 257
  
  struct option long_options[] =
  {
***************
*** 61,66 ****
--- 62,68 ----
    {"filename", 1, NULL, 'f'},
    {"version", 0, NULL, 'V'},
    {"delete-pr", 0, NULL, DELETE_PR_OPT},
+   {"show-prnum", 0, NULL, SHOW_PRNUM_OPT},
    {"help", 0, NULL, 'h'},
    {"user", 1, NULL, 'v'},
    {"passwd", 1, NULL, 'w'},
***************
*** 83,91 ****
    -L --lockdb              lock the whole database\n\
    -U --unlockdb            unlock the database\n\
    -c --check               check input for editting, don't change PR\n\
!   -C --check-initial       check input for submition, don't submit new PR\n\
    -s --submit              submit new PR\n",
    "\
    -a --append=FIELDNAME    append input to FIELDNAME\n\
    -r --replace=FIELDNAME   replace FIELDNAME with input\n\
       --delete-pr           delete PR from the database completely\n\
--- 85,94 ----
    -L --lockdb              lock the whole database\n\
    -U --unlockdb            unlock the database\n\
    -c --check               check input for editting, don't change PR\n\
!   -C --check-initial       check input for submission, don't submit new PR\n\
    -s --submit              submit new PR\n",
    "\
+      --show-prnum          display the newly created PR number (for --submit)\n\
    -a --append=FIELDNAME    append input to FIELDNAME\n\
    -r --replace=FIELDNAME   replace FIELDNAME with input\n\
       --delete-pr           delete PR from the database completely\n\
***************
*** 145,151 ****
  static void
  handleNetworkEdit (int edit_options, FILE *fpin, char *prnum, char *username,
  		   char *editEmailAddr, char *processid, char *fieldname,
! 		   char *reason)
  {
    int exitcode = 0;
  
--- 148,154 ----
  static void
  handleNetworkEdit (int edit_options, FILE *fpin, char *prnum, char *username,
  		   char *editEmailAddr, char *processid, char *fieldname,
! 		   char *reason, int show_prnum)
  {
    int exitcode = 0;
  
***************
*** 165,171 ****
        break;
      case SUBMIT:
        {
! 	netSubmitNewPR (fpin);
  	break;
        }
      case CHECK:
--- 168,174 ----
        break;
      case SUBMIT:
        {
! 	netSubmitNewPR (fpin, show_prnum);
  	break;
        }
      case CHECK:
***************
*** 216,221 ****
--- 219,225 ----
    int networkmode = 0;
    char *editUserEmailAddr = NULL;
    char *reason = NULL;
+   int show_prnum = 0;
  
    program_name = basename (argv[0]);
    edit_options = MODIFY;
***************
*** 233,238 ****
--- 237,246 ----
  	  debug = 1;
  	  break;
  
+ 	case SHOW_PRNUM_OPT:
+ 	  show_prnum = 1;
+ 	  break;
+ 
  	case 'f':
  	  fp = fopen (optarg, "r");
  	  /* If they gave a bogus argument, then exit right away; we don't
***************
*** 398,404 ****
  	  exit (3);
  	}
        handleNetworkEdit (edit_options, fp, prnum, username, editUserEmailAddr,
! 			 processid, fieldname, reason);
      }
  
    database = init_gnats (program_name, nameOfDatabase, &err);
--- 406,412 ----
  	  exit (3);
  	}
        handleNetworkEdit (edit_options, fp, prnum, username, editUserEmailAddr,
! 			 processid, fieldname, reason, show_prnum);
      }
  
    database = init_gnats (program_name, nameOfDatabase, &err);
***************
*** 467,472 ****
--- 475,484 ----
  	case SUBMIT:
  	  {
  	    result = submit_pr (database, fp, &err);
+             if (show_prnum && result)
+               {
+                 fprintf (stdout, "%d\n", result);
+               }
  	    break;
  	  }
  	case APPEND: