Mercurial > hg > xemacs-beta
comparison src/vmsfns.c @ 16:0293115a14e9 r19-15b91
Import from CVS: tag r19-15b91
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:49:20 +0200 |
parents | 376386a54a3c |
children | 859a2309aef8 |
comparison
equal
deleted
inserted
replaced
15:ad457d5f7d04 | 16:0293115a14e9 |
---|---|
372 CHECK_INT (name); | 372 CHECK_INT (name); |
373 CHECK_STRING (command); | 373 CHECK_STRING (command); |
374 for (ptr = process_list; ptr; ptr = ptr->next) | 374 for (ptr = process_list; ptr; ptr = ptr->next) |
375 if (XINT (name) == ptr->name) | 375 if (XINT (name) == ptr->name) |
376 { | 376 { |
377 write_to_mbx (ptr, string_data (XSTRING (command)), | 377 write_to_mbx (ptr, XSTRING_DATA (command), XSTRING_LENGTH (command)); |
378 string_length (XSTRING (command))); | |
379 return Qt; | 378 return Qt; |
380 } | 379 } |
381 return Qnil; | 380 return Qnil; |
382 } | 381 } |
383 | 382 |
590 int found, i; | 589 int found, i; |
591 struct privilege_list * ptr; | 590 struct privilege_list * ptr; |
592 | 591 |
593 CHECK_STRING (priv); | 592 CHECK_STRING (priv); |
594 priv = Fupcase (priv, Fcurrent_buffer ()); | 593 priv = Fupcase (priv, Fcurrent_buffer ()); |
595 prvname = string_data (XSTRING (priv)); | 594 prvname = XSTRING_DATA (priv); |
596 prvlen = string_length (XSTRING (priv)); | 595 prvlen = XSTRING_LENGTH (priv); |
597 found = 0; | 596 found = 0; |
598 prvmask[0] = 0; | 597 prvmask[0] = 0; |
599 prvmask[1] = 0; | 598 prvmask[1] = 0; |
600 for (i = 0; i < sizeof (priv_list) / sizeof (priv_list[0]); i++) | 599 for (i = 0; i < sizeof (priv_list) / sizeof (priv_list[0]); i++) |
601 { | 600 { |
610 found = 1; | 609 found = 1; |
611 break; | 610 break; |
612 } | 611 } |
613 } | 612 } |
614 if (! found) | 613 if (! found) |
615 error ("Unknown privilege name %s", string_data (XSTRING (priv))); | 614 error ("Unknown privilege name %s", XSTRING_DATA (priv)); |
616 if (NILP (getprv)) | 615 if (NILP (getprv)) |
617 { | 616 { |
618 if (sys$setprv (NILP (value) ? 0 : 1, prvmask, 0, 0) == SS$_NORMAL) | 617 if (sys$setprv (NILP (value) ? 0 : 1, prvmask, 0, 0) == SS$_NORMAL) |
619 return Qt; | 618 return Qt; |
620 return Qnil; | 619 return Qnil; |
662 char * typename; | 661 char * typename; |
663 struct vms_objlist * ptr; | 662 struct vms_objlist * ptr; |
664 | 663 |
665 CHECK_STRING (type); | 664 CHECK_STRING (type); |
666 type = Fupcase (type, Fcurrent_buffer ()); | 665 type = Fupcase (type, Fcurrent_buffer ()); |
667 typename = string_data (XSTRING (type)); | 666 typename = XSTRING_DATA (type); |
668 typelen = string_length (XSTRING (type)); | 667 typelen = XSTRING_LENGTH (type); |
669 for (i = 0; i < sizeof (vms_object) / sizeof (vms_object[0]); i++) | 668 for (i = 0; i < sizeof (vms_object) / sizeof (vms_object[0]); i++) |
670 { | 669 { |
671 ptr = &vms_object[i]; | 670 ptr = &vms_object[i]; |
672 if (typelen == strlen (ptr->name) | 671 if (typelen == strlen (ptr->name) |
673 && memcpy (typename, ptr->name, typelen) == 0) | 672 && memcpy (typename, ptr->name, typelen) == 0) |
686 int status, code, id, i, numeric, size; | 685 int status, code, id, i, numeric, size; |
687 Bufbyte *p; | 686 Bufbyte *p; |
688 int prcnam[2]; | 687 int prcnam[2]; |
689 | 688 |
690 if (NILP (pid) | 689 if (NILP (pid) |
691 || STRINGP (pid) && string_length (XSTRING (pid)) == 0 | 690 || STRINGP (pid) && XSTRING_LENGTH (pid) == 0 |
692 || ZEROP (pid)) | 691 || ZEROP (pid)) |
693 { | 692 { |
694 code = owner ? JPI$_OWNER : JPI$_PID; | 693 code = owner ? JPI$_OWNER : JPI$_PID; |
695 status = lib$getjpi (&code, 0, 0, &id); | 694 status = lib$getjpi (&code, 0, 0, &id); |
696 if (! (status & 1)) | 695 if (! (status & 1)) |
701 } | 700 } |
702 if (INTP (pid)) | 701 if (INTP (pid)) |
703 return (XINT (pid)); | 702 return (XINT (pid)); |
704 CHECK_STRING (pid); | 703 CHECK_STRING (pid); |
705 pid = Fupcase (pid, Fcurrent_buffer ()); | 704 pid = Fupcase (pid, Fcurrent_buffer ()); |
706 size = string_length (XSTRING (pid)); | 705 size = XSTRING_LENGTH (pid); |
707 p = string_data (XSTRING (pid)); | 706 p = XSTRING_DATA (pid); |
708 numeric = 1; | 707 numeric = 1; |
709 id = 0; | 708 id = 0; |
710 for (i = 0; i < size; i++, p++) | 709 for (i = 0; i < size; i++, p++) |
711 if (isxdigit (*p)) | 710 if (isxdigit (*p)) |
712 { | 711 { |
721 numeric = 0; | 720 numeric = 0; |
722 break; | 721 break; |
723 } | 722 } |
724 if (numeric) | 723 if (numeric) |
725 return (id); | 724 return (id); |
726 prcnam[0] = string_length (XSTRING (pid)); | 725 prcnam[0] = XSTRING_LENGTH (pid); |
727 prcnam[1] = string_data (XSTRING (pid)); | 726 prcnam[1] = XSTRING_DATA (pid); |
728 status = lib$getjpi (&JPI$_PID, 0, prcnam, &id); | 727 status = lib$getjpi (&JPI$_PID, 0, prcnam, &id); |
729 if (! (status & 1)) | 728 if (! (status & 1)) |
730 error ("Cannot find process id: %s", | 729 error ("Cannot find process id: %s", |
731 vmserrstr (status)); | 730 vmserrstr (status)); |
732 return (id); | 731 return (id); |
862 int status, symdsc[2]; | 861 int status, symdsc[2]; |
863 int strdsc[2] = { sizeof (str), str }; | 862 int strdsc[2] = { sizeof (str), str }; |
864 short length, level; | 863 short length, level; |
865 | 864 |
866 CHECK_STRING (arg1); | 865 CHECK_STRING (arg1); |
867 symdsc[0] = string_length (XSTRING (arg1)); | 866 symdsc[0] = XSTRING_LENGTH (arg1); |
868 symdsc[1] = string_data (XSTRING (arg1)); | 867 symdsc[1] = XSTRING_DATA (arg1); |
869 status = lib$sys_trnlog (symdsc, &length, strdsc); | 868 status = lib$sys_trnlog (symdsc, &length, strdsc); |
870 if (! (status & 1)) | 869 if (! (status & 1)) |
871 error ("Unable to translate logical name: %s", vmserrstr (status)); | 870 error ("Unable to translate logical name: %s", vmserrstr (status)); |
872 if (status == SS$_NOTRAN) | 871 if (status == SS$_NOTRAN) |
873 return (Qnil); | 872 return (Qnil); |
882 int status, symdsc[2]; | 881 int status, symdsc[2]; |
883 int strdsc[2] = { sizeof (str), str }; | 882 int strdsc[2] = { sizeof (str), str }; |
884 short length, level; | 883 short length, level; |
885 | 884 |
886 CHECK_STRING (arg1); | 885 CHECK_STRING (arg1); |
887 symdsc[0] = string_length (XSTRING (arg1)); | 886 symdsc[0] = XSTRING_LENGTH (arg1); |
888 symdsc[1] = string_data (XSTRING (arg1)); | 887 symdsc[1] = XSTRING_DATA (arg1); |
889 status = lib$get_symbol (symdsc, strdsc, &length, &level); | 888 status = lib$get_symbol (symdsc, strdsc, &length, &level); |
890 if (! (status & 1)) { | 889 if (! (status & 1)) { |
891 if (status == LIB$_NOSUCHSYM) | 890 if (status == LIB$_NOSUCHSYM) |
892 return (Qnil); | 891 return (Qnil); |
893 else | 892 else |