… | |
… | |
565 | } |
565 | } |
566 | #ifdef KEYSYM_RESOURCE |
566 | #ifdef KEYSYM_RESOURCE |
567 | else if (!strncmp (opt, "keysym.", sizeof ("keysym.") - 1)) |
567 | else if (!strncmp (opt, "keysym.", sizeof ("keysym.") - 1)) |
568 | { |
568 | { |
569 | if (i+1 < argc) |
569 | if (i+1 < argc) |
570 | parse_keysym (opt + sizeof ("keysym.") - 1, argv[++i]); |
570 | { |
|
|
571 | char *res = (char *)malloc (strlen (opt) + strlen (argv[++i]) + 6); |
|
|
572 | sprintf (res, "*.%s: %s\n", opt, argv[i]); |
|
|
573 | XrmPutLineResource (&option_db, res); |
|
|
574 | free (res); |
|
|
575 | } |
571 | } |
576 | } |
572 | #endif |
577 | #endif |
573 | else |
578 | else |
574 | { |
579 | { |
575 | bad_option = 1; |
580 | bad_option = 1; |
… | |
… | |
800 | |
805 | |
801 | void |
806 | void |
802 | rxvt_term::extract_resources () |
807 | rxvt_term::extract_resources () |
803 | { |
808 | { |
804 | #ifndef NO_RESOURCES |
809 | #ifndef NO_RESOURCES |
|
|
810 | XrmDatabase database = XrmGetDatabase (dpy); |
|
|
811 | XrmMergeDatabases (option_db, &database); |
|
|
812 | option_db = NULL; |
805 | /* |
813 | /* |
806 | * Query resources for options that affect us |
814 | * Query resources for options that affect us |
807 | */ |
815 | */ |
808 | for (int entry = 0; entry < optList_size; entry++) |
816 | for (int entry = 0; entry < optList_size; entry++) |
809 | { |
817 | { |
… | |
… | |
838 | |
846 | |
839 | /* |
847 | /* |
840 | * [R5 or later]: enumerate the resource database |
848 | * [R5 or later]: enumerate the resource database |
841 | */ |
849 | */ |
842 | # ifdef KEYSYM_RESOURCE |
850 | # ifdef KEYSYM_RESOURCE |
843 | XrmDatabase database = XrmGetDatabase (dpy); |
|
|
844 | XrmName name_prefix[3]; |
851 | XrmName name_prefix[3]; |
845 | XrmClass class_prefix[3]; |
852 | XrmClass class_prefix[3]; |
846 | |
853 | |
847 | name_prefix[0] = XrmStringToName (rs[Rs_name]); |
854 | name_prefix[0] = XrmStringToName (rs[Rs_name]); |
848 | name_prefix[1] = XrmStringToName ("keysym"); |
855 | name_prefix[1] = XrmStringToName ("keysym"); |