aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-09-09 09:54:01 +0800
committerPo Lu2022-09-09 09:54:45 +0800
commitadc8344e759b0aa3c919df9bdff1232d89b2e6b4 (patch)
tree3ca9d30cb9c15aeee947370cde215e4e76e75bf0 /src
parenta8a1595cc36e607049e5bc39b658e085d62d83c9 (diff)
downloademacs-adc8344e759b0aa3c919df9bdff1232d89b2e6b4.tar.gz
emacs-adc8344e759b0aa3c919df9bdff1232d89b2e6b4.zip
Remove long-broken TESTRM interface
* src/xrdb.c: [TESTRM]: (fatal, main): Delete functions and code block. They don't work and rely on XLIB_ILLEGAL_ACCESS.
Diffstat (limited to 'src')
-rw-r--r--src/xrdb.c104
1 files changed, 0 insertions, 104 deletions
diff --git a/src/xrdb.c b/src/xrdb.c
index 5ff25dde148..01c9ff5558a 100644
--- a/src/xrdb.c
+++ b/src/xrdb.c
@@ -511,107 +511,3 @@ x_get_string_resource (void *v_rdb, const char *name, const char *class)
511 511
512 return NULL; 512 return NULL;
513} 513}
514
515/* Stand-alone test facilities. */
516
517#ifdef TESTRM
518
519typedef char **List;
520#define arg_listify(len, list) (list)
521#define car(list) (*(list))
522#define cdr(list) (list + 1)
523#define NIL(list) (! *(list))
524#define free_arglist(list)
525
526static List
527member (char *elt, List list)
528{
529 List p;
530
531 for (p = list; ! NIL (p); p = cdr (p))
532 if (! strcmp (elt, car (p)))
533 return p;
534
535 return p;
536}
537
538static void
539fatal (char *msg, char *prog)
540{
541 fprintf (stderr, msg, prog);
542 exit (1);
543}
544
545int
546main (int argc, char **argv)
547{
548 Display *display;
549 char *displayname, *resource_string, *class, *name;
550 XrmDatabase xdb;
551 List arg_list, lp;
552
553 arg_list = arg_listify (argc, argv);
554
555 lp = member ("-d", arg_list);
556 if (!NIL (lp))
557 displayname = car (cdr (lp));
558 else
559 displayname = "localhost:0.0";
560
561 lp = member ("-xrm", arg_list);
562 resource_string = NIL (lp) ? 0 : car (cdr (lp));
563
564 lp = member ("-c", arg_list);
565 if (! NIL (lp))
566 class = car (cdr (lp));
567 else
568 class = "Emacs";
569
570 lp = member ("-n", arg_list);
571 if (! NIL (lp))
572 name = car (cdr (lp));
573 else
574 name = "emacs";
575
576 free_arglist (arg_list);
577
578 if (!(display = XOpenDisplay (displayname)))
579 fatal ("Can't open display '%s'\n", XDisplayName (displayname));
580
581 xdb = x_load_resources (display, resource_string, name, class);
582
583 /* In a real program, you'd want to also do this: */
584 display->db = xdb;
585
586 while (true)
587 {
588 char query_name[90];
589 char query_class[90];
590
591 printf ("Name: ");
592 fgets (query_name, 90, stdin);
593
594 if (strlen (query_name))
595 {
596 char *value;
597
598 printf ("Class: ");
599 fgets (query_class, 90, stdin);
600
601 value = x_get_string_resource (&xdb, query_name, query_class);
602
603 if (value != NULL)
604 printf ("\t%s(%s): %s\n\n", query_name, query_class, value);
605 else
606 printf ("\tNo Value.\n\n");
607 }
608 else
609 break;
610 }
611 printf ("\tExit.\n\n");
612
613 XCloseDisplay (display);
614
615 return 0;
616}
617#endif /* TESTRM */