43 |
} edit_options; |
} edit_options; |
44 |
|
|
45 |
#define DELETE_PR_OPT 256 |
#define DELETE_PR_OPT 256 |
46 |
|
#define SHOW_PRNUM_OPT 257 |
47 |
|
|
48 |
struct option long_options[] = |
struct option long_options[] = |
49 |
{ |
{ |
62 |
{"filename", 1, NULL, 'f'}, |
{"filename", 1, NULL, 'f'}, |
63 |
{"version", 0, NULL, 'V'}, |
{"version", 0, NULL, 'V'}, |
64 |
{"delete-pr", 0, NULL, DELETE_PR_OPT}, |
{"delete-pr", 0, NULL, DELETE_PR_OPT}, |
65 |
|
{"show-prnum", 0, NULL, SHOW_PRNUM_OPT}, |
66 |
{"help", 0, NULL, 'h'}, |
{"help", 0, NULL, 'h'}, |
67 |
{"user", 1, NULL, 'v'}, |
{"user", 1, NULL, 'v'}, |
68 |
{"passwd", 1, NULL, 'w'}, |
{"passwd", 1, NULL, 'w'}, |
85 |
-L --lockdb lock the whole database\n\ |
-L --lockdb lock the whole database\n\ |
86 |
-U --unlockdb unlock the database\n\ |
-U --unlockdb unlock the database\n\ |
87 |
-c --check check input for editting, don't change PR\n\ |
-c --check check input for editting, don't change PR\n\ |
88 |
-C --check-initial check input for submition, don't submit new PR\n\ |
-C --check-initial check input for submission, don't submit new PR\n\ |
89 |
-s --submit submit new PR\n", |
-s --submit submit new PR\n", |
90 |
"\ |
"\ |
91 |
|
--show-prnum display the newly created PR number (for --submit)\n\ |
92 |
-a --append=FIELDNAME append input to FIELDNAME\n\ |
-a --append=FIELDNAME append input to FIELDNAME\n\ |
93 |
-r --replace=FIELDNAME replace FIELDNAME with input\n\ |
-r --replace=FIELDNAME replace FIELDNAME with input\n\ |
94 |
--delete-pr delete PR from the database completely\n\ |
--delete-pr delete PR from the database completely\n\ |
148 |
static void |
static void |
149 |
handleNetworkEdit (int edit_options, FILE *fpin, char *prnum, char *username, |
handleNetworkEdit (int edit_options, FILE *fpin, char *prnum, char *username, |
150 |
char *editEmailAddr, char *processid, char *fieldname, |
char *editEmailAddr, char *processid, char *fieldname, |
151 |
char *reason) |
char *reason, int show_prnum) |
152 |
{ |
{ |
153 |
int exitcode = 0; |
int exitcode = 0; |
154 |
|
|
168 |
break; |
break; |
169 |
case SUBMIT: |
case SUBMIT: |
170 |
{ |
{ |
171 |
netSubmitNewPR (fpin); |
netSubmitNewPR (fpin, show_prnum); |
172 |
break; |
break; |
173 |
} |
} |
174 |
case CHECK: |
case CHECK: |
219 |
int networkmode = 0; |
int networkmode = 0; |
220 |
char *editUserEmailAddr = NULL; |
char *editUserEmailAddr = NULL; |
221 |
char *reason = NULL; |
char *reason = NULL; |
222 |
|
int show_prnum = 0; |
223 |
|
|
224 |
program_name = basename (argv[0]); |
program_name = basename (argv[0]); |
225 |
edit_options = MODIFY; |
edit_options = MODIFY; |
237 |
debug = 1; |
debug = 1; |
238 |
break; |
break; |
239 |
|
|
240 |
|
case SHOW_PRNUM_OPT: |
241 |
|
show_prnum = 1; |
242 |
|
break; |
243 |
|
|
244 |
case 'f': |
case 'f': |
245 |
fp = fopen (optarg, "r"); |
fp = fopen (optarg, "r"); |
246 |
/* If they gave a bogus argument, then exit right away; we don't |
/* If they gave a bogus argument, then exit right away; we don't |
406 |
exit (3); |
exit (3); |
407 |
} |
} |
408 |
handleNetworkEdit (edit_options, fp, prnum, username, editUserEmailAddr, |
handleNetworkEdit (edit_options, fp, prnum, username, editUserEmailAddr, |
409 |
processid, fieldname, reason); |
processid, fieldname, reason, show_prnum); |
410 |
} |
} |
411 |
|
|
412 |
database = init_gnats (program_name, nameOfDatabase, &err); |
database = init_gnats (program_name, nameOfDatabase, &err); |
475 |
case SUBMIT: |
case SUBMIT: |
476 |
{ |
{ |
477 |
result = submit_pr (database, fp, &err); |
result = submit_pr (database, fp, &err); |
478 |
|
if (show_prnum && result) |
479 |
|
{ |
480 |
|
fprintf (stdout, "%d\n", result); |
481 |
|
} |
482 |
break; |
break; |
483 |
} |
} |
484 |
case APPEND: |
case APPEND: |