ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/applications/staticProps/StaticPropsCmd.c
Revision: 3007
Committed: Tue Sep 19 21:14:11 2006 UTC (17 years, 11 months ago) by gezelter
Content type: text/plain
File size: 45967 byte(s)
Log Message:
Working on BondOrderParameter

File Contents

# User Rev Content
1 tim 1994 /*
2 gezelter 2701 File autogenerated by gengetopt version 2.16
3 tim 1994 generated with the following command:
4 gezelter 2701 gengetopt -F StaticPropsCmd
5 tim 1994
6     The developers of gengetopt consider the fixed text that goes in all
7     gengetopt output files to be in the public domain:
8     we make no copyright claims on it.
9     */
10    
11 gezelter 2701 /* If we use autoconf. */
12     #ifdef HAVE_CONFIG_H
13     #include "config.h"
14     #endif
15 tim 1994
16     #include <stdio.h>
17     #include <stdlib.h>
18     #include <string.h>
19    
20     #include "getopt.h"
21    
22 tim 1995 #include "StaticPropsCmd.h"
23 tim 1994
24 gezelter 2701 static
25     void clear_given (struct gengetopt_args_info *args_info);
26     static
27     void clear_args (struct gengetopt_args_info *args_info);
28    
29     static int
30     cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required, const char *additional_error);
31    
32     static int
33     cmdline_parser_required2 (struct gengetopt_args_info *args_info, const char *prog_name, const char *additional_error);
34    
35     static char *
36     gengetopt_strdup (const char *s);
37    
38     static
39     void clear_given (struct gengetopt_args_info *args_info)
40     {
41     args_info->help_given = 0 ;
42     args_info->version_given = 0 ;
43     args_info->input_given = 0 ;
44     args_info->output_given = 0 ;
45     args_info->step_given = 0 ;
46     args_info->nrbins_given = 0 ;
47 xsun 2751 args_info->nbins_x_given = 0 ;
48     args_info->nbins_y_given = 0 ;
49 gezelter 2701 args_info->nanglebins_given = 0 ;
50     args_info->length_given = 0 ;
51 gezelter 3007 args_info->LegendreL_given = 0 ;
52     args_info->rcut_given = 0 ;
53 gezelter 2701 args_info->zoffset_given = 0 ;
54     args_info->sele1_given = 0 ;
55     args_info->sele2_given = 0 ;
56     args_info->sele3_given = 0 ;
57     args_info->refsele_given = 0 ;
58     args_info->molname_given = 0 ;
59     args_info->begin_given = 0 ;
60     args_info->end_given = 0 ;
61 gezelter 3007 args_info->bo_given = 0 ;
62 gezelter 2701 args_info->gofr_given = 0 ;
63     args_info->r_theta_given = 0 ;
64     args_info->r_omega_given = 0 ;
65     args_info->theta_omega_given = 0 ;
66     args_info->gxyz_given = 0 ;
67     args_info->p2_given = 0 ;
68 xsun 2783 args_info->rp2_given = 0 ;
69 gezelter 2701 args_info->scd_given = 0 ;
70     args_info->density_given = 0 ;
71     args_info->slab_density_given = 0 ;
72 xsun 2751 args_info->hxy_given = 0 ;
73 gezelter 2701 args_info->staticProps_group_counter = 0 ;
74     }
75    
76     static
77     void clear_args (struct gengetopt_args_info *args_info)
78     {
79     args_info->input_arg = NULL;
80     args_info->input_orig = NULL;
81     args_info->output_arg = NULL;
82     args_info->output_orig = NULL;
83     args_info->step_arg = 1;
84     args_info->step_orig = NULL;
85     args_info->nrbins_arg = 100;
86     args_info->nrbins_orig = NULL;
87 xsun 2751 args_info->nbins_x_arg = 100;
88     args_info->nbins_x_orig = NULL;
89     args_info->nbins_y_arg = 100;
90     args_info->nbins_y_orig = NULL;
91 gezelter 2701 args_info->nanglebins_arg = 50;
92     args_info->nanglebins_orig = NULL;
93     args_info->length_orig = NULL;
94 gezelter 3007 args_info->LegendreL_orig = NULL;
95     args_info->rcut_orig = NULL;
96 gezelter 2701 args_info->zoffset_arg = 0;
97     args_info->zoffset_orig = NULL;
98     args_info->sele1_arg = NULL;
99     args_info->sele1_orig = NULL;
100     args_info->sele2_arg = NULL;
101     args_info->sele2_orig = NULL;
102     args_info->sele3_arg = NULL;
103     args_info->sele3_orig = NULL;
104     args_info->refsele_arg = NULL;
105     args_info->refsele_orig = NULL;
106     args_info->molname_arg = NULL;
107     args_info->molname_orig = NULL;
108     args_info->begin_orig = NULL;
109     args_info->end_orig = NULL;
110    
111     }
112    
113 tim 1994 void
114     cmdline_parser_print_version (void)
115     {
116     printf ("%s %s\n", CMDLINE_PARSER_PACKAGE, CMDLINE_PARSER_VERSION);
117     }
118    
119     void
120     cmdline_parser_print_help (void)
121     {
122     cmdline_parser_print_version ();
123 gezelter 2701 printf("\nUsage: StaticProps [OPTIONS]...\n\n");
124     printf("%s\n"," -h, --help Print help and exit");
125     printf("%s\n"," -V, --version Print version and exit");
126     printf("%s\n"," -i, --input=filename input dump file");
127     printf("%s\n"," -o, --output=filename output file name");
128     printf("%s\n"," -n, --step=INT process every n frame (default=`1')");
129 xsun 2763 printf("%s\n"," -r, --nrbins=INT number of bins for distance (default=`100')");
130     printf("%s\n"," -x, --nbins_x=INT number of bins in x axis (default=`100')");
131     printf("%s\n"," -y, --nbins_y=INT number of bins in y axis (default=`100')");
132 gezelter 2701 printf("%s\n"," -a, --nanglebins=INT number of bins for cos(angle) (default=`50')");
133 gezelter 3007 printf("%s\n"," --length=DOUBLE maximum length (Defaults to 1/2 smallest length \n of first frame)");
134     printf("%s\n"," -l, --LegendreL=INT Order of Legendre Polynomial (used for Bond \n Order calculations)");
135     printf("%s\n"," -c, --rcut=DOUBLE cutoff radius (rcut)");
136 gezelter 2701 printf("%s\n"," -z, --zoffset=DOUBLE Where to set the zero for the slab_density \n calculation (default=`0')");
137     printf("%s\n"," --sele1=selection script select the first stuntdouble set");
138     printf("%s\n"," --sele2=selection script select the second stuntdouble set");
139     printf("%s\n"," --sele3=selection script select the third stuntdouble set");
140     printf("%s\n"," --refsele=selection script\n select reference (use and only use with --gxyz)");
141     printf("%s\n"," --molname=STRING molecule name");
142 gezelter 3007 printf("%s\n"," --begin=INT begin internal index");
143 gezelter 2701 printf("%s\n"," --end=INT end internal index");
144     printf("%s\n","\n Group: staticProps\n an option of this group is required");
145 gezelter 3007 printf("%s\n"," -b, --bo bond order parameter (--rcut and --LegendreL \n must be specified");
146     printf("%s\n"," -g, --gofr g(r)");
147 gezelter 2701 printf("%s\n"," --r_theta g(r, cos(theta))");
148     printf("%s\n"," --r_omega g(r, cos(omega))");
149     printf("%s\n"," --theta_omega g(cos(theta), cos(omega))");
150     printf("%s\n"," --gxyz g(x, y, z)");
151 gezelter 3007 printf("%s\n"," -p, --p2 p2 order parameter (--sele1 and --sele2 must be \n specified)");
152 xsun 2783 printf("%s\n"," --rp2 rp2 order parameter (--sele1 and --sele2 must \n be specified)");
153 gezelter 3007 printf("%s\n"," -s, --scd scd order parameter (either --sele1, --sele2, \n --sele3 are specified or --molname, --begin, \n --end are specified)");
154     printf("%s\n"," -d, --density density plot");
155     printf("%s\n"," --slab_density slab density");
156     printf("%s\n"," --hxy hxy");
157 gezelter 2701
158 tim 1994 }
159    
160 gezelter 2701 void
161     cmdline_parser_init (struct gengetopt_args_info *args_info)
162     {
163     clear_given (args_info);
164     clear_args (args_info);
165     }
166 tim 1994
167 gezelter 2701 static void
168     cmdline_parser_release (struct gengetopt_args_info *args_info)
169     {
170    
171     if (args_info->input_arg)
172     {
173     free (args_info->input_arg); /* free previous argument */
174     args_info->input_arg = 0;
175     }
176     if (args_info->input_orig)
177     {
178     free (args_info->input_orig); /* free previous argument */
179     args_info->input_orig = 0;
180     }
181     if (args_info->output_arg)
182     {
183     free (args_info->output_arg); /* free previous argument */
184     args_info->output_arg = 0;
185     }
186     if (args_info->output_orig)
187     {
188     free (args_info->output_orig); /* free previous argument */
189     args_info->output_orig = 0;
190     }
191     if (args_info->step_orig)
192     {
193     free (args_info->step_orig); /* free previous argument */
194     args_info->step_orig = 0;
195     }
196     if (args_info->nrbins_orig)
197     {
198     free (args_info->nrbins_orig); /* free previous argument */
199     args_info->nrbins_orig = 0;
200     }
201 xsun 2763 if (args_info->nbins_x_orig)
202 xsun 2751 {
203     free (args_info->nbins_x_orig); /* free previous argument */
204     args_info->nbins_x_orig = 0;
205     }
206     if (args_info->nbins_y_orig)
207     {
208     free (args_info->nbins_y_orig); /* free previous argument */
209     args_info->nbins_y_orig = 0;
210     }
211 gezelter 2701 if (args_info->nanglebins_orig)
212     {
213     free (args_info->nanglebins_orig); /* free previous argument */
214     args_info->nanglebins_orig = 0;
215     }
216     if (args_info->length_orig)
217     {
218     free (args_info->length_orig); /* free previous argument */
219     args_info->length_orig = 0;
220     }
221 gezelter 3007 if (args_info->LegendreL_orig)
222     {
223     free (args_info->LegendreL_orig); /* free previous argument */
224     args_info->LegendreL_orig = 0;
225     }
226     if (args_info->rcut_orig)
227     {
228     free (args_info->rcut_orig); /* free previous argument */
229     args_info->rcut_orig = 0;
230     }
231 gezelter 2701 if (args_info->zoffset_orig)
232     {
233     free (args_info->zoffset_orig); /* free previous argument */
234     args_info->zoffset_orig = 0;
235     }
236     if (args_info->sele1_arg)
237     {
238     free (args_info->sele1_arg); /* free previous argument */
239     args_info->sele1_arg = 0;
240     }
241     if (args_info->sele1_orig)
242     {
243     free (args_info->sele1_orig); /* free previous argument */
244     args_info->sele1_orig = 0;
245     }
246     if (args_info->sele2_arg)
247     {
248     free (args_info->sele2_arg); /* free previous argument */
249     args_info->sele2_arg = 0;
250     }
251     if (args_info->sele2_orig)
252     {
253     free (args_info->sele2_orig); /* free previous argument */
254     args_info->sele2_orig = 0;
255     }
256     if (args_info->sele3_arg)
257     {
258     free (args_info->sele3_arg); /* free previous argument */
259     args_info->sele3_arg = 0;
260     }
261     if (args_info->sele3_orig)
262     {
263     free (args_info->sele3_orig); /* free previous argument */
264     args_info->sele3_orig = 0;
265     }
266     if (args_info->refsele_arg)
267     {
268     free (args_info->refsele_arg); /* free previous argument */
269     args_info->refsele_arg = 0;
270     }
271     if (args_info->refsele_orig)
272     {
273     free (args_info->refsele_orig); /* free previous argument */
274     args_info->refsele_orig = 0;
275     }
276     if (args_info->molname_arg)
277     {
278     free (args_info->molname_arg); /* free previous argument */
279     args_info->molname_arg = 0;
280     }
281     if (args_info->molname_orig)
282     {
283     free (args_info->molname_orig); /* free previous argument */
284     args_info->molname_orig = 0;
285     }
286     if (args_info->begin_orig)
287     {
288     free (args_info->begin_orig); /* free previous argument */
289     args_info->begin_orig = 0;
290     }
291     if (args_info->end_orig)
292     {
293     free (args_info->end_orig); /* free previous argument */
294     args_info->end_orig = 0;
295     }
296    
297     clear_given (args_info);
298     }
299 tim 1994
300 gezelter 2701 int
301     cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
302     {
303     FILE *outfile;
304     int i = 0;
305    
306     outfile = fopen(filename, "w");
307    
308     if (!outfile)
309     {
310     fprintf (stderr, "%s: cannot open file for writing: %s\n", CMDLINE_PARSER_PACKAGE, filename);
311     return EXIT_FAILURE;
312     }
313    
314     if (args_info->help_given) {
315     fprintf(outfile, "%s\n", "help");
316     }
317     if (args_info->version_given) {
318     fprintf(outfile, "%s\n", "version");
319     }
320     if (args_info->input_given) {
321     if (args_info->input_orig) {
322     fprintf(outfile, "%s=\"%s\"\n", "input", args_info->input_orig);
323     } else {
324     fprintf(outfile, "%s\n", "input");
325     }
326     }
327     if (args_info->output_given) {
328     if (args_info->output_orig) {
329     fprintf(outfile, "%s=\"%s\"\n", "output", args_info->output_orig);
330     } else {
331     fprintf(outfile, "%s\n", "output");
332     }
333     }
334     if (args_info->step_given) {
335     if (args_info->step_orig) {
336     fprintf(outfile, "%s=\"%s\"\n", "step", args_info->step_orig);
337     } else {
338     fprintf(outfile, "%s\n", "step");
339     }
340     }
341     if (args_info->nrbins_given) {
342     if (args_info->nrbins_orig) {
343     fprintf(outfile, "%s=\"%s\"\n", "nrbins", args_info->nrbins_orig);
344     } else {
345     fprintf(outfile, "%s\n", "nrbins");
346     }
347     }
348 xsun 2751 if (args_info->nbins_x_given) {
349     if (args_info->nbins_x_orig) {
350     fprintf(outfile, "%s=\"%s\"\n", "nbins_x", args_info->nbins_x_orig);
351     } else {
352     fprintf(outfile, "%s\n", "nbins_x");
353     }
354     }
355     if (args_info->nbins_y_given) {
356     if (args_info->nbins_y_orig) {
357     fprintf(outfile, "%s=\"%s\"\n", "nbins_y", args_info->nbins_y_orig);
358     } else {
359     fprintf(outfile, "%s\n", "nbins_y");
360     }
361     }
362 gezelter 2701 if (args_info->nanglebins_given) {
363     if (args_info->nanglebins_orig) {
364     fprintf(outfile, "%s=\"%s\"\n", "nanglebins", args_info->nanglebins_orig);
365     } else {
366     fprintf(outfile, "%s\n", "nanglebins");
367     }
368     }
369     if (args_info->length_given) {
370     if (args_info->length_orig) {
371     fprintf(outfile, "%s=\"%s\"\n", "length", args_info->length_orig);
372     } else {
373     fprintf(outfile, "%s\n", "length");
374     }
375     }
376 gezelter 3007 if (args_info->LegendreL_given) {
377     if (args_info->LegendreL_orig) {
378     fprintf(outfile, "%s=\"%s\"\n", "LegendreL", args_info->LegendreL_orig);
379     } else {
380     fprintf(outfile, "%s\n", "LegendreL");
381     }
382     }
383     if (args_info->rcut_given) {
384     if (args_info->rcut_orig) {
385     fprintf(outfile, "%s=\"%s\"\n", "rcut", args_info->rcut_orig);
386     } else {
387     fprintf(outfile, "%s\n", "rcut");
388     }
389     }
390 gezelter 2701 if (args_info->zoffset_given) {
391     if (args_info->zoffset_orig) {
392     fprintf(outfile, "%s=\"%s\"\n", "zoffset", args_info->zoffset_orig);
393     } else {
394     fprintf(outfile, "%s\n", "zoffset");
395     }
396     }
397     if (args_info->sele1_given) {
398     if (args_info->sele1_orig) {
399     fprintf(outfile, "%s=\"%s\"\n", "sele1", args_info->sele1_orig);
400     } else {
401     fprintf(outfile, "%s\n", "sele1");
402     }
403     }
404     if (args_info->sele2_given) {
405     if (args_info->sele2_orig) {
406     fprintf(outfile, "%s=\"%s\"\n", "sele2", args_info->sele2_orig);
407     } else {
408     fprintf(outfile, "%s\n", "sele2");
409     }
410     }
411     if (args_info->sele3_given) {
412     if (args_info->sele3_orig) {
413     fprintf(outfile, "%s=\"%s\"\n", "sele3", args_info->sele3_orig);
414     } else {
415     fprintf(outfile, "%s\n", "sele3");
416     }
417     }
418     if (args_info->refsele_given) {
419     if (args_info->refsele_orig) {
420     fprintf(outfile, "%s=\"%s\"\n", "refsele", args_info->refsele_orig);
421     } else {
422     fprintf(outfile, "%s\n", "refsele");
423     }
424     }
425     if (args_info->molname_given) {
426     if (args_info->molname_orig) {
427     fprintf(outfile, "%s=\"%s\"\n", "molname", args_info->molname_orig);
428     } else {
429     fprintf(outfile, "%s\n", "molname");
430     }
431     }
432     if (args_info->begin_given) {
433     if (args_info->begin_orig) {
434     fprintf(outfile, "%s=\"%s\"\n", "begin", args_info->begin_orig);
435     } else {
436     fprintf(outfile, "%s\n", "begin");
437     }
438     }
439     if (args_info->end_given) {
440     if (args_info->end_orig) {
441     fprintf(outfile, "%s=\"%s\"\n", "end", args_info->end_orig);
442     } else {
443     fprintf(outfile, "%s\n", "end");
444     }
445     }
446 gezelter 3007 if (args_info->bo_given) {
447     fprintf(outfile, "%s\n", "bo");
448     }
449 gezelter 2701 if (args_info->gofr_given) {
450     fprintf(outfile, "%s\n", "gofr");
451     }
452     if (args_info->r_theta_given) {
453     fprintf(outfile, "%s\n", "r_theta");
454     }
455     if (args_info->r_omega_given) {
456     fprintf(outfile, "%s\n", "r_omega");
457     }
458     if (args_info->theta_omega_given) {
459     fprintf(outfile, "%s\n", "theta_omega");
460     }
461     if (args_info->gxyz_given) {
462     fprintf(outfile, "%s\n", "gxyz");
463     }
464     if (args_info->p2_given) {
465     fprintf(outfile, "%s\n", "p2");
466     }
467 xsun 2783 if (args_info->rp2_given) {
468     fprintf(outfile, "%s\n", "rp2");
469     }
470 gezelter 2701 if (args_info->scd_given) {
471     fprintf(outfile, "%s\n", "scd");
472     }
473     if (args_info->density_given) {
474     fprintf(outfile, "%s\n", "density");
475     }
476     if (args_info->slab_density_given) {
477     fprintf(outfile, "%s\n", "slab_density");
478     }
479 xsun 2751 if (args_info->hxy_given) {
480     fprintf(outfile, "%s\n", "hxy");
481     }
482 xsun 2763
483 gezelter 2701 fclose (outfile);
484    
485     i = EXIT_SUCCESS;
486     return i;
487     }
488    
489     void
490     cmdline_parser_free (struct gengetopt_args_info *args_info)
491     {
492     cmdline_parser_release (args_info);
493     }
494    
495    
496 tim 1994 /* gengetopt_strdup() */
497     /* strdup.c replacement of strdup, which is not standard */
498     char *
499     gengetopt_strdup (const char *s)
500     {
501 gezelter 2701 char *result = NULL;
502     if (!s)
503     return result;
504    
505     result = (char*)malloc(strlen(s) + 1);
506 tim 1994 if (result == (char*)0)
507     return (char*)0;
508     strcpy(result, s);
509     return result;
510     }
511    
512 gezelter 2701 static void
513     reset_group_staticProps(struct gengetopt_args_info *args_info);
514    
515     static void
516     reset_group_staticProps(struct gengetopt_args_info *args_info)
517 tim 1994 {
518 gezelter 2701 if (! args_info->staticProps_group_counter)
519     return;
520 tim 1994
521 gezelter 3007 args_info->bo_given = 0 ;
522 tim 1994 args_info->gofr_given = 0 ;
523     args_info->r_theta_given = 0 ;
524     args_info->r_omega_given = 0 ;
525     args_info->theta_omega_given = 0 ;
526 tim 2053 args_info->gxyz_given = 0 ;
527 tim 2240 args_info->p2_given = 0 ;
528 xsun 2783 args_info->rp2_given = 0 ;
529 tim 2241 args_info->scd_given = 0 ;
530 tim 2242 args_info->density_given = 0 ;
531 tim 2539 args_info->slab_density_given = 0 ;
532 xsun 2763 args_info->hxy_given = 0 ;
533 gezelter 2701
534     args_info->staticProps_group_counter = 0;
535 tim 2240 }
536 tim 1994
537 gezelter 2701 int
538     cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info)
539     {
540     return cmdline_parser2 (argc, argv, args_info, 0, 1, 1);
541     }
542 tim 1994
543 gezelter 2701 int
544     cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
545     {
546     int result;
547    
548     result = cmdline_parser_internal (argc, argv, args_info, override, initialize, check_required, NULL);
549    
550     if (result == EXIT_FAILURE)
551     {
552     cmdline_parser_free (args_info);
553     exit (EXIT_FAILURE);
554     }
555    
556     return result;
557     }
558    
559     int
560     cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name)
561     {
562     int result = EXIT_SUCCESS;
563    
564     if (cmdline_parser_required2(args_info, prog_name, NULL) > 0)
565     result = EXIT_FAILURE;
566    
567     if (result == EXIT_FAILURE)
568     {
569     cmdline_parser_free (args_info);
570     exit (EXIT_FAILURE);
571     }
572    
573     return result;
574     }
575    
576     int
577     cmdline_parser_required2 (struct gengetopt_args_info *args_info, const char *prog_name, const char *additional_error)
578     {
579     int error = 0;
580    
581     if (! args_info->input_given)
582     {
583     fprintf (stderr, "%s: '--input' ('-i') option required%s\n", prog_name, (additional_error ? additional_error : ""));
584     error = 1;
585     }
586     if (args_info->staticProps_group_counter == 0)
587     {
588     fprintf (stderr, "%s: %d options of group staticProps were given. One is required.%s\n", prog_name, args_info->staticProps_group_counter, (additional_error ? additional_error : ""));
589     error = 1;
590     }
591    
592    
593     return error;
594     }
595    
596     int
597     cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required, const char *additional_error)
598     {
599     int c; /* Character of the parsed option. */
600    
601     int error = 0;
602     struct gengetopt_args_info local_args_info;
603    
604     if (initialize)
605     cmdline_parser_init (args_info);
606    
607     cmdline_parser_init (&local_args_info);
608    
609 tim 1994 optarg = 0;
610 gezelter 2701 optind = 0;
611 tim 1994 opterr = 1;
612     optopt = '?';
613    
614     while (1)
615     {
616     int option_index = 0;
617     char *stop_char;
618    
619     static struct option long_options[] = {
620     { "help", 0, NULL, 'h' },
621     { "version", 0, NULL, 'V' },
622     { "input", 1, NULL, 'i' },
623     { "output", 1, NULL, 'o' },
624 tim 1995 { "step", 1, NULL, 'n' },
625     { "nrbins", 1, NULL, 'r' },
626 xsun 2763 { "nbins_x", 1, NULL, 'x' },
627     { "nbins_y", 1, NULL, 'y' },
628 tim 1994 { "nanglebins", 1, NULL, 'a' },
629 gezelter 3007 { "length", 1, NULL, 0 },
630     { "LegendreL", 1, NULL, 'l' },
631     { "rcut", 1, NULL, 'c' },
632 gezelter 2701 { "zoffset", 1, NULL, 'z' },
633 tim 1994 { "sele1", 1, NULL, 0 },
634     { "sele2", 1, NULL, 0 },
635 tim 2241 { "sele3", 1, NULL, 0 },
636 tim 2053 { "refsele", 1, NULL, 0 },
637 tim 2241 { "molname", 1, NULL, 0 },
638     { "begin", 1, NULL, 0 },
639     { "end", 1, NULL, 0 },
640 gezelter 3007 { "bo", 0, NULL, 'b' },
641     { "gofr", 0, NULL, 'g' },
642 tim 1994 { "r_theta", 0, NULL, 0 },
643     { "r_omega", 0, NULL, 0 },
644     { "theta_omega", 0, NULL, 0 },
645 tim 2053 { "gxyz", 0, NULL, 0 },
646 gezelter 3007 { "p2", 0, NULL, 'p' },
647 xsun 2783 { "rp2", 0, NULL, 0 },
648 gezelter 3007 { "scd", 0, NULL, 's' },
649     { "density", 0, NULL, 'd' },
650 tim 2539 { "slab_density", 0, NULL, 0 },
651 xsun 2751 { "hxy", 0, NULL, 0 },
652 tim 1994 { NULL, 0, NULL, 0 }
653     };
654    
655     stop_char = 0;
656 gezelter 3007 c = getopt_long (argc, argv, "hVi:o:n:r:x:y:a:l:c:z:bgpsd", long_options, &option_index);
657 tim 1994
658     if (c == -1) break; /* Exit from `while (1)' loop. */
659    
660     switch (c)
661     {
662     case 'h': /* Print help and exit. */
663     cmdline_parser_print_help ();
664 gezelter 2701 cmdline_parser_free (&local_args_info);
665 tim 1994 exit (EXIT_SUCCESS);
666    
667     case 'V': /* Print version and exit. */
668     cmdline_parser_print_version ();
669 gezelter 2701 cmdline_parser_free (&local_args_info);
670 tim 1994 exit (EXIT_SUCCESS);
671    
672     case 'i': /* input dump file. */
673 gezelter 2701 if (local_args_info.input_given)
674 tim 1994 {
675 gezelter 2701 fprintf (stderr, "%s: `--input' (`-i') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
676     goto failure;
677 tim 1994 }
678 gezelter 2701 if (args_info->input_given && ! override)
679     continue;
680     local_args_info.input_given = 1;
681 tim 1994 args_info->input_given = 1;
682 gezelter 2701 if (args_info->input_arg)
683     free (args_info->input_arg); /* free previous string */
684 tim 1994 args_info->input_arg = gengetopt_strdup (optarg);
685 gezelter 2701 if (args_info->input_orig)
686     free (args_info->input_orig); /* free previous string */
687     args_info->input_orig = gengetopt_strdup (optarg);
688 tim 1994 break;
689    
690     case 'o': /* output file name. */
691 gezelter 2701 if (local_args_info.output_given)
692 tim 1994 {
693 gezelter 2701 fprintf (stderr, "%s: `--output' (`-o') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
694     goto failure;
695 tim 1994 }
696 gezelter 2701 if (args_info->output_given && ! override)
697     continue;
698     local_args_info.output_given = 1;
699 tim 1994 args_info->output_given = 1;
700 gezelter 2701 if (args_info->output_arg)
701     free (args_info->output_arg); /* free previous string */
702 tim 1994 args_info->output_arg = gengetopt_strdup (optarg);
703 gezelter 2701 if (args_info->output_orig)
704     free (args_info->output_orig); /* free previous string */
705     args_info->output_orig = gengetopt_strdup (optarg);
706 tim 1994 break;
707    
708 tim 1995 case 'n': /* process every n frame. */
709 gezelter 2701 if (local_args_info.step_given)
710 tim 1994 {
711 gezelter 2701 fprintf (stderr, "%s: `--step' (`-n') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
712     goto failure;
713 tim 1994 }
714 gezelter 2701 if (args_info->step_given && ! override)
715     continue;
716     local_args_info.step_given = 1;
717 tim 1995 args_info->step_given = 1;
718 gezelter 2701 args_info->step_arg = strtol (optarg, &stop_char, 0);
719     if (!(stop_char && *stop_char == '\0')) {
720     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
721     goto failure;
722     }
723     if (args_info->step_orig)
724     free (args_info->step_orig); /* free previous string */
725     args_info->step_orig = gengetopt_strdup (optarg);
726 tim 1994 break;
727    
728 tim 1995 case 'r': /* number of bins for distance. */
729 gezelter 2701 if (local_args_info.nrbins_given)
730 tim 1994 {
731 gezelter 2701 fprintf (stderr, "%s: `--nrbins' (`-r') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
732     goto failure;
733 tim 1994 }
734 gezelter 2701 if (args_info->nrbins_given && ! override)
735     continue;
736     local_args_info.nrbins_given = 1;
737 tim 1995 args_info->nrbins_given = 1;
738 gezelter 2701 args_info->nrbins_arg = strtol (optarg, &stop_char, 0);
739     if (!(stop_char && *stop_char == '\0')) {
740     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
741     goto failure;
742     }
743     if (args_info->nrbins_orig)
744     free (args_info->nrbins_orig); /* free previous string */
745     args_info->nrbins_orig = gengetopt_strdup (optarg);
746 tim 1994 break;
747    
748 xsun 2751 case 'x': /* number of bins in x axis. */
749     if (local_args_info.nbins_x_given)
750     {
751 xsun 2763 fprintf (stderr, "%s: `--nbins_x' (`-x') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
752 xsun 2751 goto failure;
753     }
754     if (args_info->nbins_x_given && ! override)
755     continue;
756     local_args_info.nbins_x_given = 1;
757     args_info->nbins_x_given = 1;
758     args_info->nbins_x_arg = strtol (optarg, &stop_char, 0);
759     if (!(stop_char && *stop_char == '\0')) {
760     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
761     goto failure;
762     }
763     if (args_info->nbins_x_orig)
764     free (args_info->nbins_x_orig); /* free previous string */
765     args_info->nbins_x_orig = gengetopt_strdup (optarg);
766     break;
767    
768     case 'y': /* number of bins in y axis. */
769     if (local_args_info.nbins_y_given)
770     {
771 xsun 2763 fprintf (stderr, "%s: `--nbins_y' (`-y') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
772 xsun 2751 goto failure;
773     }
774     if (args_info->nbins_y_given && ! override)
775     continue;
776     local_args_info.nbins_y_given = 1;
777     args_info->nbins_y_given = 1;
778     args_info->nbins_y_arg = strtol (optarg, &stop_char, 0);
779     if (!(stop_char && *stop_char == '\0')) {
780     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
781     goto failure;
782     }
783     if (args_info->nbins_y_orig)
784     free (args_info->nbins_y_orig); /* free previous string */
785     args_info->nbins_y_orig = gengetopt_strdup (optarg);
786     break;
787    
788 tim 1994 case 'a': /* number of bins for cos(angle). */
789 gezelter 2701 if (local_args_info.nanglebins_given)
790 tim 1994 {
791 gezelter 2701 fprintf (stderr, "%s: `--nanglebins' (`-a') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
792     goto failure;
793 tim 1994 }
794 gezelter 2701 if (args_info->nanglebins_given && ! override)
795     continue;
796     local_args_info.nanglebins_given = 1;
797 tim 1994 args_info->nanglebins_given = 1;
798 gezelter 2701 args_info->nanglebins_arg = strtol (optarg, &stop_char, 0);
799     if (!(stop_char && *stop_char == '\0')) {
800     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
801     goto failure;
802     }
803     if (args_info->nanglebins_orig)
804     free (args_info->nanglebins_orig); /* free previous string */
805     args_info->nanglebins_orig = gengetopt_strdup (optarg);
806 tim 1994 break;
807    
808 gezelter 3007 case 'l': /* Order of Legendre Polynomial (used for Bond Order calculations). */
809     if (local_args_info.LegendreL_given)
810 tim 1994 {
811 gezelter 3007 fprintf (stderr, "%s: `--LegendreL' (`-l') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
812 gezelter 2701 goto failure;
813 tim 1994 }
814 gezelter 3007 if (args_info->LegendreL_given && ! override)
815 gezelter 2701 continue;
816 gezelter 3007 local_args_info.LegendreL_given = 1;
817     args_info->LegendreL_given = 1;
818     args_info->LegendreL_arg = strtol (optarg, &stop_char, 0);
819 gezelter 2701 if (!(stop_char && *stop_char == '\0')) {
820     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
821     goto failure;
822     }
823 gezelter 3007 if (args_info->LegendreL_orig)
824     free (args_info->LegendreL_orig); /* free previous string */
825     args_info->LegendreL_orig = gengetopt_strdup (optarg);
826 tim 1994 break;
827    
828 gezelter 3007 case 'c': /* cutoff radius (rcut). */
829     if (local_args_info.rcut_given)
830     {
831     fprintf (stderr, "%s: `--rcut' (`-c') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
832     goto failure;
833     }
834     if (args_info->rcut_given && ! override)
835     continue;
836     local_args_info.rcut_given = 1;
837     args_info->rcut_given = 1;
838     args_info->rcut_arg = strtod (optarg, &stop_char);
839     if (!(stop_char && *stop_char == '\0')) {
840     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
841     goto failure;
842     }
843     if (args_info->rcut_orig)
844     free (args_info->rcut_orig); /* free previous string */
845     args_info->rcut_orig = gengetopt_strdup (optarg);
846     break;
847    
848 gezelter 2701 case 'z': /* Where to set the zero for the slab_density calculation. */
849     if (local_args_info.zoffset_given)
850     {
851     fprintf (stderr, "%s: `--zoffset' (`-z') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
852     goto failure;
853     }
854     if (args_info->zoffset_given && ! override)
855     continue;
856     local_args_info.zoffset_given = 1;
857     args_info->zoffset_given = 1;
858     args_info->zoffset_arg = strtod (optarg, &stop_char);
859     if (!(stop_char && *stop_char == '\0')) {
860     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
861     goto failure;
862     }
863     if (args_info->zoffset_orig)
864     free (args_info->zoffset_orig); /* free previous string */
865     args_info->zoffset_orig = gengetopt_strdup (optarg);
866     break;
867 tim 1994
868 gezelter 3007 case 'b': /* bond order parameter (--rcut and --LegendreL must be specified. */
869     if (local_args_info.bo_given)
870     {
871     fprintf (stderr, "%s: `--bo' (`-b') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
872     goto failure;
873     }
874     if (args_info->bo_given && ! override)
875     continue;
876     local_args_info.bo_given = 1;
877     args_info->bo_given = 1;
878     if (args_info->staticProps_group_counter && override)
879     reset_group_staticProps (args_info);
880     args_info->staticProps_group_counter += 1;
881     break;
882 gezelter 2701
883 gezelter 3007 case 'g': /* g(r). */
884     if (local_args_info.gofr_given)
885     {
886     fprintf (stderr, "%s: `--gofr' (`-g') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
887     goto failure;
888     }
889     if (args_info->gofr_given && ! override)
890     continue;
891     local_args_info.gofr_given = 1;
892     args_info->gofr_given = 1;
893     if (args_info->staticProps_group_counter && override)
894     reset_group_staticProps (args_info);
895     args_info->staticProps_group_counter += 1;
896     break;
897    
898     case 'p': /* p2 order parameter (--sele1 and --sele2 must be specified). */
899     if (local_args_info.p2_given)
900     {
901     fprintf (stderr, "%s: `--p2' (`-p') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
902     goto failure;
903     }
904     if (args_info->p2_given && ! override)
905     continue;
906     local_args_info.p2_given = 1;
907     args_info->p2_given = 1;
908     if (args_info->staticProps_group_counter && override)
909     reset_group_staticProps (args_info);
910     args_info->staticProps_group_counter += 1;
911     break;
912    
913     case 's': /* scd order parameter (either --sele1, --sele2, --sele3 are specified or --molname, --begin, --end are specified). */
914     if (local_args_info.scd_given)
915     {
916     fprintf (stderr, "%s: `--scd' (`-s') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
917     goto failure;
918     }
919     if (args_info->scd_given && ! override)
920     continue;
921     local_args_info.scd_given = 1;
922     args_info->scd_given = 1;
923     if (args_info->staticProps_group_counter && override)
924     reset_group_staticProps (args_info);
925     args_info->staticProps_group_counter += 1;
926     break;
927    
928     case 'd': /* density plot. */
929     if (local_args_info.density_given)
930     {
931     fprintf (stderr, "%s: `--density' (`-d') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
932     goto failure;
933     }
934     if (args_info->density_given && ! override)
935     continue;
936     local_args_info.density_given = 1;
937     args_info->density_given = 1;
938     if (args_info->staticProps_group_counter && override)
939     reset_group_staticProps (args_info);
940     args_info->staticProps_group_counter += 1;
941     break;
942    
943    
944 tim 1994 case 0: /* Long option with no short option */
945 gezelter 3007 /* maximum length (Defaults to 1/2 smallest length of first frame). */
946     if (strcmp (long_options[option_index].name, "length") == 0)
947     {
948     if (local_args_info.length_given)
949     {
950     fprintf (stderr, "%s: `--length' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
951     goto failure;
952     }
953     if (args_info->length_given && ! override)
954     continue;
955     local_args_info.length_given = 1;
956     args_info->length_given = 1;
957     args_info->length_arg = strtod (optarg, &stop_char);
958     if (!(stop_char && *stop_char == '\0')) {
959     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
960     goto failure;
961     }
962     if (args_info->length_orig)
963     free (args_info->length_orig); /* free previous string */
964     args_info->length_orig = gengetopt_strdup (optarg);
965     }
966 tim 2241 /* select the first stuntdouble set. */
967 gezelter 3007 else if (strcmp (long_options[option_index].name, "sele1") == 0)
968 tim 2240 {
969 gezelter 2701 if (local_args_info.sele1_given)
970 tim 2240 {
971 gezelter 2701 fprintf (stderr, "%s: `--sele1' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
972     goto failure;
973 tim 2240 }
974 gezelter 2701 if (args_info->sele1_given && ! override)
975     continue;
976     local_args_info.sele1_given = 1;
977 tim 2240 args_info->sele1_given = 1;
978 gezelter 2701 if (args_info->sele1_arg)
979     free (args_info->sele1_arg); /* free previous string */
980 tim 2240 args_info->sele1_arg = gengetopt_strdup (optarg);
981 gezelter 2701 if (args_info->sele1_orig)
982     free (args_info->sele1_orig); /* free previous string */
983     args_info->sele1_orig = gengetopt_strdup (optarg);
984 tim 2240 }
985 tim 2241 /* select the second stuntdouble set. */
986 tim 1994 else if (strcmp (long_options[option_index].name, "sele2") == 0)
987 tim 2240 {
988 gezelter 2701 if (local_args_info.sele2_given)
989 tim 2240 {
990 gezelter 2701 fprintf (stderr, "%s: `--sele2' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
991     goto failure;
992 tim 2240 }
993 gezelter 2701 if (args_info->sele2_given && ! override)
994     continue;
995     local_args_info.sele2_given = 1;
996 tim 2240 args_info->sele2_given = 1;
997 gezelter 2701 if (args_info->sele2_arg)
998     free (args_info->sele2_arg); /* free previous string */
999 tim 2240 args_info->sele2_arg = gengetopt_strdup (optarg);
1000 gezelter 2701 if (args_info->sele2_orig)
1001     free (args_info->sele2_orig); /* free previous string */
1002     args_info->sele2_orig = gengetopt_strdup (optarg);
1003 tim 2240 }
1004 tim 2241 /* select the third stuntdouble set. */
1005     else if (strcmp (long_options[option_index].name, "sele3") == 0)
1006     {
1007 gezelter 2701 if (local_args_info.sele3_given)
1008 tim 2241 {
1009 gezelter 2701 fprintf (stderr, "%s: `--sele3' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1010     goto failure;
1011 tim 2241 }
1012 gezelter 2701 if (args_info->sele3_given && ! override)
1013     continue;
1014     local_args_info.sele3_given = 1;
1015 tim 2241 args_info->sele3_given = 1;
1016 gezelter 2701 if (args_info->sele3_arg)
1017     free (args_info->sele3_arg); /* free previous string */
1018 tim 2241 args_info->sele3_arg = gengetopt_strdup (optarg);
1019 gezelter 2701 if (args_info->sele3_orig)
1020     free (args_info->sele3_orig); /* free previous string */
1021     args_info->sele3_orig = gengetopt_strdup (optarg);
1022 tim 2241 }
1023 tim 2053 /* select reference (use and only use with --gxyz). */
1024     else if (strcmp (long_options[option_index].name, "refsele") == 0)
1025 tim 2240 {
1026 gezelter 2701 if (local_args_info.refsele_given)
1027 tim 2240 {
1028 gezelter 2701 fprintf (stderr, "%s: `--refsele' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1029     goto failure;
1030 tim 2240 }
1031 gezelter 2701 if (args_info->refsele_given && ! override)
1032     continue;
1033     local_args_info.refsele_given = 1;
1034 tim 2240 args_info->refsele_given = 1;
1035 gezelter 2701 if (args_info->refsele_arg)
1036     free (args_info->refsele_arg); /* free previous string */
1037 tim 2240 args_info->refsele_arg = gengetopt_strdup (optarg);
1038 gezelter 2701 if (args_info->refsele_orig)
1039     free (args_info->refsele_orig); /* free previous string */
1040     args_info->refsele_orig = gengetopt_strdup (optarg);
1041 tim 2240 }
1042 tim 2241 /* molecule name. */
1043     else if (strcmp (long_options[option_index].name, "molname") == 0)
1044     {
1045 gezelter 2701 if (local_args_info.molname_given)
1046 tim 2241 {
1047 gezelter 2701 fprintf (stderr, "%s: `--molname' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1048     goto failure;
1049 tim 2241 }
1050 gezelter 2701 if (args_info->molname_given && ! override)
1051     continue;
1052     local_args_info.molname_given = 1;
1053 tim 2241 args_info->molname_given = 1;
1054 gezelter 2701 if (args_info->molname_arg)
1055     free (args_info->molname_arg); /* free previous string */
1056 tim 2241 args_info->molname_arg = gengetopt_strdup (optarg);
1057 gezelter 2701 if (args_info->molname_orig)
1058     free (args_info->molname_orig); /* free previous string */
1059     args_info->molname_orig = gengetopt_strdup (optarg);
1060 tim 2241 }
1061 gezelter 3007 /* begin internal index. */
1062 tim 2241 else if (strcmp (long_options[option_index].name, "begin") == 0)
1063     {
1064 gezelter 2701 if (local_args_info.begin_given)
1065 tim 2241 {
1066 gezelter 2701 fprintf (stderr, "%s: `--begin' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1067     goto failure;
1068 tim 2241 }
1069 gezelter 2701 if (args_info->begin_given && ! override)
1070     continue;
1071     local_args_info.begin_given = 1;
1072 tim 2241 args_info->begin_given = 1;
1073 gezelter 2701 args_info->begin_arg = strtol (optarg, &stop_char, 0);
1074     if (!(stop_char && *stop_char == '\0')) {
1075     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
1076     goto failure;
1077     }
1078     if (args_info->begin_orig)
1079     free (args_info->begin_orig); /* free previous string */
1080     args_info->begin_orig = gengetopt_strdup (optarg);
1081 tim 2241 }
1082     /* end internal index. */
1083     else if (strcmp (long_options[option_index].name, "end") == 0)
1084     {
1085 gezelter 2701 if (local_args_info.end_given)
1086 tim 2241 {
1087 gezelter 2701 fprintf (stderr, "%s: `--end' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1088     goto failure;
1089 tim 2241 }
1090 gezelter 2701 if (args_info->end_given && ! override)
1091     continue;
1092     local_args_info.end_given = 1;
1093 tim 2241 args_info->end_given = 1;
1094 gezelter 2701 args_info->end_arg = strtol (optarg, &stop_char, 0);
1095     if (!(stop_char && *stop_char == '\0')) {
1096     fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
1097     goto failure;
1098     }
1099     if (args_info->end_orig)
1100     free (args_info->end_orig); /* free previous string */
1101     args_info->end_orig = gengetopt_strdup (optarg);
1102 tim 2241 }
1103 tim 1994 /* g(r, cos(theta)). */
1104     else if (strcmp (long_options[option_index].name, "r_theta") == 0)
1105 tim 2240 {
1106 gezelter 2701 if (local_args_info.r_theta_given)
1107 tim 2240 {
1108 gezelter 2701 fprintf (stderr, "%s: `--r_theta' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1109     goto failure;
1110 tim 2240 }
1111 gezelter 2701 if (args_info->r_theta_given && ! override)
1112     continue;
1113     local_args_info.r_theta_given = 1;
1114     args_info->r_theta_given = 1;
1115     if (args_info->staticProps_group_counter && override)
1116     reset_group_staticProps (args_info);
1117     args_info->staticProps_group_counter += 1;
1118 tim 2240 break;
1119     }
1120 tim 1994 /* g(r, cos(omega)). */
1121     else if (strcmp (long_options[option_index].name, "r_omega") == 0)
1122 tim 2240 {
1123 gezelter 2701 if (local_args_info.r_omega_given)
1124 tim 2240 {
1125 gezelter 2701 fprintf (stderr, "%s: `--r_omega' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1126     goto failure;
1127 tim 2240 }
1128 gezelter 2701 if (args_info->r_omega_given && ! override)
1129     continue;
1130     local_args_info.r_omega_given = 1;
1131     args_info->r_omega_given = 1;
1132     if (args_info->staticProps_group_counter && override)
1133     reset_group_staticProps (args_info);
1134     args_info->staticProps_group_counter += 1;
1135 tim 2240 break;
1136     }
1137 tim 1994 /* g(cos(theta), cos(omega)). */
1138     else if (strcmp (long_options[option_index].name, "theta_omega") == 0)
1139 tim 2240 {
1140 gezelter 2701 if (local_args_info.theta_omega_given)
1141 tim 2240 {
1142 gezelter 2701 fprintf (stderr, "%s: `--theta_omega' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1143     goto failure;
1144 tim 2240 }
1145 gezelter 2701 if (args_info->theta_omega_given && ! override)
1146     continue;
1147     local_args_info.theta_omega_given = 1;
1148     args_info->theta_omega_given = 1;
1149     if (args_info->staticProps_group_counter && override)
1150     reset_group_staticProps (args_info);
1151     args_info->staticProps_group_counter += 1;
1152 tim 2240 break;
1153     }
1154 tim 1994 /* g(x, y, z). */
1155 tim 2053 else if (strcmp (long_options[option_index].name, "gxyz") == 0)
1156 tim 2240 {
1157 gezelter 2701 if (local_args_info.gxyz_given)
1158 tim 2240 {
1159 gezelter 2701 fprintf (stderr, "%s: `--gxyz' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1160     goto failure;
1161 tim 2240 }
1162 gezelter 2701 if (args_info->gxyz_given && ! override)
1163     continue;
1164     local_args_info.gxyz_given = 1;
1165     args_info->gxyz_given = 1;
1166     if (args_info->staticProps_group_counter && override)
1167     reset_group_staticProps (args_info);
1168     args_info->staticProps_group_counter += 1;
1169 tim 2240 break;
1170     }
1171 xsun 2783 /* rp2 order parameter (--sele1 and --sele2 must be specified). */
1172     else if (strcmp (long_options[option_index].name, "rp2") == 0)
1173     {
1174     if (local_args_info.rp2_given)
1175     {
1176     fprintf (stderr, "%s: `--rp2' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1177     goto failure;
1178     }
1179     if (args_info->rp2_given && ! override)
1180     continue;
1181     local_args_info.rp2_given = 1;
1182     args_info->rp2_given = 1;
1183     if (args_info->staticProps_group_counter && override)
1184     reset_group_staticProps (args_info);
1185     args_info->staticProps_group_counter += 1;
1186     break;
1187     }
1188 gezelter 3007 /* slab density. */
1189 tim 2539 else if (strcmp (long_options[option_index].name, "slab_density") == 0)
1190     {
1191 gezelter 2701 if (local_args_info.slab_density_given)
1192 tim 2539 {
1193 gezelter 2701 fprintf (stderr, "%s: `--slab_density' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1194     goto failure;
1195 tim 2539 }
1196 gezelter 2701 if (args_info->slab_density_given && ! override)
1197     continue;
1198     local_args_info.slab_density_given = 1;
1199     args_info->slab_density_given = 1;
1200     if (args_info->staticProps_group_counter && override)
1201     reset_group_staticProps (args_info);
1202     args_info->staticProps_group_counter += 1;
1203 tim 2539 break;
1204     }
1205 gezelter 3007 /* hxy. */
1206 xsun 2751 else if (strcmp (long_options[option_index].name, "hxy") == 0)
1207     {
1208     if (local_args_info.hxy_given)
1209     {
1210     fprintf (stderr, "%s: `--hxy' option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
1211     goto failure;
1212     }
1213     if (args_info->hxy_given && ! override)
1214     continue;
1215     local_args_info.hxy_given = 1;
1216     args_info->hxy_given = 1;
1217     if (args_info->staticProps_group_counter && override)
1218     reset_group_staticProps (args_info);
1219     args_info->staticProps_group_counter += 1;
1220     break;
1221     }
1222 tim 2539
1223 gezelter 2701 break;
1224 tim 1994 case '?': /* Invalid option. */
1225     /* `getopt_long' already printed an error message. */
1226 gezelter 2701 goto failure;
1227 tim 1994
1228     default: /* bug: option not considered. */
1229 gezelter 2701 fprintf (stderr, "%s: option unknown: %c%s\n", CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error : ""));
1230 tim 1994 abort ();
1231     } /* switch */
1232     } /* while */
1233    
1234 gezelter 2701 if (args_info->staticProps_group_counter > 1)
1235 tim 1994 {
1236 gezelter 2701 fprintf (stderr, "%s: %d options of group staticProps were given. One is required.%s\n", argv[0], args_info->staticProps_group_counter, (additional_error ? additional_error : ""));
1237     error = 1;
1238 tim 1994 }
1239    
1240    
1241 gezelter 2701
1242     if (check_required)
1243 tim 1994 {
1244 gezelter 2701 error += cmdline_parser_required2 (args_info, argv[0], additional_error);
1245 tim 1994 }
1246    
1247 gezelter 2701 cmdline_parser_release (&local_args_info);
1248    
1249     if ( error )
1250     return (EXIT_FAILURE);
1251    
1252 tim 1994 return 0;
1253 gezelter 2701
1254     failure:
1255    
1256     cmdline_parser_release (&local_args_info);
1257     return (EXIT_FAILURE);
1258 tim 1994 }