ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/xdefaults.C
(Generate patch)

Comparing rxvt-unicode/src/xdefaults.C (file contents):
Revision 1.130 by ayin, Tue Jan 8 15:01:15 2008 UTC vs.
Revision 1.131 by ayin, Fri Jan 18 23:14:05 2008 UTC

494 int i, bad_option = 0; 494 int i, bad_option = 0;
495 495
496 for (i = 1; i < argc; i++) 496 for (i = 1; i < argc; i++)
497 { 497 {
498 unsigned int entry, longopt = 0; 498 unsigned int entry, longopt = 0;
499 const char *flag, *opt; 499 const char *opt;
500 int flag;
500 501
501 opt = argv[i]; 502 opt = argv[i];
502 503
503 if (*opt == '-') 504 if (*opt == '-')
504 { 505 {
505 flag = resval_on; 506 flag = 1;
506 507
507 if (*++opt == '-') 508 if (*++opt == '-')
508 longopt = *opt++; /* long option */ 509 longopt = *opt++; /* long option */
509 } 510 }
510 else if (*opt == '+') 511 else if (*opt == '+')
511 { 512 {
512 flag = resval_off; 513 flag = 0;
513 514
514 if (*++opt == '+') 515 if (*++opt == '+')
515 longopt = *opt++; /* long option */ 516 longopt = *opt++; /* long option */
516 } 517 }
517 else 518 else
535 break; 536 break;
536 537
537 if (entry < optList_size) 538 if (entry < optList_size)
538 { 539 {
539 if (optList_isReverse (entry)) 540 if (optList_isReverse (entry))
540 flag = flag == resval_on ? resval_off : resval_on; 541 flag = !flag;
541 542
542 if (optList_strlen (entry)) 543 if (optList_strlen (entry))
543 { 544 {
544 /* 545 /*
545 * special cases are handled in main.c:main () to allow 546 * special cases are handled in main.c:main () to allow
547 * default values 548 * default values
548 */ 549 */
549 550
550 if (optList[entry].doff != -1) 551 if (optList[entry].doff != -1)
551 { 552 {
552 if (flag == resval_on && i+1 == argc) 553 if (flag && i+1 == argc)
553 rxvt_fatal ("option '%s' requires an argument, aborting.\n", argv [i]); 554 rxvt_fatal ("option '%s' requires an argument, aborting.\n", argv [i]);
554 555
555 rs[optList[entry].doff] = flag == resval_on ? argv[++i] : resval_undef; 556 rs[optList[entry].doff] = flag ? argv[++i] : resval_undef;
556 } 557 }
557 } 558 }
558 else 559 else
559 { 560 {
560 /* boolean value */ 561 /* boolean value */
561 set_option (optList[entry].index, flag == resval_on); 562 set_option (optList[entry].index, flag);
562 563
563 if (optList[entry].doff != -1) 564 if (optList[entry].doff != -1)
564 rs[optList[entry].doff] = flag; 565 rs[optList[entry].doff] = flag ? resval_on : resval_off;
565 } 566 }
566 } 567 }
567#ifndef NO_RESOURCES 568#ifndef NO_RESOURCES
568 else if (!strcmp (opt, "xrm")) 569 else if (!strcmp (opt, "xrm"))
569 { 570 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines