comparison src/process-nt.c @ 867:804517e16990

[xemacs-hg @ 2002-06-05 09:54:39 by ben] Textual renaming: text/char names abbrev.c, alloc.c, buffer.c, buffer.h, bytecode.c, callint.c, casefiddle.c, casetab.c, charset.h, chartab.c, chartab.h, cmds.c, console-gtk.h, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console-x.h, console.h, data.c, device-msw.c, device-x.c, dialog-msw.c, dired-msw.c, dired.c, doc.c, doprnt.c, editfns.c, eldap.c, emodules.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, event-unixoid.c, events.c, events.h, file-coding.c, file-coding.h, fileio.c, filelock.c, fns.c, font-lock.c, frame-gtk.c, frame-msw.c, frame-x.c, frame.c, glyphs-eimage.c, glyphs-msw.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-x.c, gui-x.h, gui.c, gui.h, hpplay.c, indent.c, insdel.c, insdel.h, intl-win32.c, keymap.c, line-number.c, line-number.h, lisp-disunion.h, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, md5.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, mule-ccl.c, mule-charset.c, mule-coding.c, mule-wnnfns.c, ndir.h, nt.c, objects-gtk.c, objects-gtk.h, objects-msw.c, objects-tty.c, objects-x.c, objects.c, objects.h, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, procimpl.h, realpath.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, redisplay.h, regex.c, search.c, select-common.h, select-gtk.c, select-x.c, sound.h, symbols.c, syntax.c, syntax.h, sysdep.c, sysdep.h, sysdir.h, sysfile.h, sysproc.h, syspwd.h, systime.h, syswindows.h, termcap.c, tests.c, text.c, text.h, toolbar-common.c, tooltalk.c, ui-gtk.c, unexnt.c, unicode.c, win32.c: Text/char naming rationalization. [a] distinguish between "charptr" when it refers to operations on the pointer itself and when it refers to operations on text; and [b] use consistent naming for everything referring to internal format, i.e. Itext == text in internal format Ibyte == a byte in such text Ichar == a char as represented in internal character format thus e.g. set_charptr_emchar -> set_itext_ichar The pre and post tags on either side of this change are: pre-internal-format-textual-renaming post-internal-format-textual-renaming See the Internals Manual for details of exactly how this was done, how to handle the change in your workspace, etc.
author ben
date Wed, 05 Jun 2002 09:58:45 +0000
parents 84762348c6f9
children e22b0213b713
comparison
equal deleted inserted replaced
866:613552a02607 867:804517e16990
698 } 698 }
699 699
700 int 700 int
701 mswindows_compare_env (const void *strp1, const void *strp2) 701 mswindows_compare_env (const void *strp1, const void *strp2)
702 { 702 {
703 const Intbyte *str1 = *(const Intbyte **)strp1, 703 const Ibyte *str1 = *(const Ibyte **)strp1,
704 *str2 = *(const Intbyte **)strp2; 704 *str2 = *(const Ibyte **)strp2;
705 705
706 while (*str1 && *str2 && *str1 != '=' && *str2 != '=') 706 while (*str1 && *str2 && *str1 != '=' && *str2 != '=')
707 { 707 {
708 if ((*str1) > (*str2)) 708 if ((*str1) > (*str2))
709 return 1; 709 return 1;
749 /* Find out whether the application is windowed or not */ 749 /* Find out whether the application is windowed or not */
750 { 750 {
751 /* SHGetFileInfo tends to return ERROR_FILE_NOT_FOUND on most 751 /* SHGetFileInfo tends to return ERROR_FILE_NOT_FOUND on most
752 errors. This leads to bogus error message. */ 752 errors. This leads to bogus error message. */
753 DWORD image_type; 753 DWORD image_type;
754 Intbyte *p = qxestrrchr (XSTRING_DATA (program), '.'); 754 Ibyte *p = qxestrrchr (XSTRING_DATA (program), '.');
755 if (p != NULL && 755 if (p != NULL &&
756 (qxestrcasecmp (p, ".exe") == 0 || 756 (qxestrcasecmp (p, ".exe") == 0 ||
757 qxestrcasecmp (p, ".com") == 0 || 757 qxestrcasecmp (p, ".com") == 0 ||
758 qxestrcasecmp (p, ".bat") == 0 || 758 qxestrcasecmp (p, ".bat") == 0 ||
759 qxestrcasecmp (p, ".cmd") == 0)) 759 qxestrcasecmp (p, ".cmd") == 0))
858 858
859 /* Set `proc_env' to a nul-separated array of the strings in 859 /* Set `proc_env' to a nul-separated array of the strings in
860 Vprocess_environment terminated by 2 nuls. */ 860 Vprocess_environment terminated by 2 nuls. */
861 861
862 { 862 {
863 Intbyte **env; 863 Ibyte **env;
864 REGISTER Lisp_Object tem; 864 REGISTER Lisp_Object tem;
865 REGISTER Intbyte **new_env; 865 REGISTER Ibyte **new_env;
866 REGISTER int new_length = 0, i; 866 REGISTER int new_length = 0, i;
867 867
868 for (tem = Vprocess_environment; 868 for (tem = Vprocess_environment;
869 (CONSP (tem) 869 (CONSP (tem)
870 && STRINGP (XCAR (tem))); 870 && STRINGP (XCAR (tem)));
881 arglen += strlen (ppid_env_var_buffer) + 1; 881 arglen += strlen (ppid_env_var_buffer) + 1;
882 numenv++; 882 numenv++;
883 */ 883 */
884 884
885 /* new_length + 1 to include terminating 0. */ 885 /* new_length + 1 to include terminating 0. */
886 env = new_env = alloca_array (Intbyte *, new_length + 1); 886 env = new_env = alloca_array (Ibyte *, new_length + 1);
887 887
888 /* Copy the Vprocess_environment strings into new_env. */ 888 /* Copy the Vprocess_environment strings into new_env. */
889 for (tem = Vprocess_environment; 889 for (tem = Vprocess_environment;
890 (CONSP (tem) 890 (CONSP (tem)
891 && STRINGP (XCAR (tem))); 891 && STRINGP (XCAR (tem)));
892 tem = XCDR (tem)) 892 tem = XCDR (tem))
893 { 893 {
894 Intbyte **ep = env; 894 Ibyte **ep = env;
895 Intbyte *string = XSTRING_DATA (XCAR (tem)); 895 Ibyte *string = XSTRING_DATA (XCAR (tem));
896 /* See if this string duplicates any string already in the env. 896 /* See if this string duplicates any string already in the env.
897 If so, don't put it in. 897 If so, don't put it in.
898 When an env var has multiple definitions, 898 When an env var has multiple definitions,
899 we keep the definition that comes first in process-environment. */ 899 we keep the definition that comes first in process-environment. */
900 for (; ep != new_env; ep++) 900 for (; ep != new_env; ep++)
901 { 901 {
902 Intbyte *p = *ep, *q = string; 902 Ibyte *p = *ep, *q = string;
903 while (1) 903 while (1)
904 { 904 {
905 if (*q == 0) 905 if (*q == 0)
906 /* The string is malformed; might as well drop it. */ 906 /* The string is malformed; might as well drop it. */
907 goto duplicate; 907 goto duplicate;
917 } 917 }
918 *new_env = 0; 918 *new_env = 0;
919 919
920 /* Sort the environment variables */ 920 /* Sort the environment variables */
921 new_length = new_env - env; 921 new_length = new_env - env;
922 qsort (env, new_length, sizeof (Intbyte *), mswindows_compare_env); 922 qsort (env, new_length, sizeof (Ibyte *), mswindows_compare_env);
923 923
924 { 924 {
925 DECLARE_EISTRING (envout); 925 DECLARE_EISTRING (envout);
926 926
927 for (i = 0; i < new_length; i++) 927 for (i = 0; i < new_length; i++)
941 /* On Windows 95, if cmdname is a DOS app, we invoke a helper 941 /* On Windows 95, if cmdname is a DOS app, we invoke a helper
942 application to start it by specifying the helper app as cmdname, 942 application to start it by specifying the helper app as cmdname,
943 while leaving the real app name as argv[0]. */ 943 while leaving the real app name as argv[0]. */
944 if (is_dos_app) 944 if (is_dos_app)
945 { 945 {
946 cmdname = (Intbyte *) ALLOCA (PATH_MAX); 946 cmdname = (Ibyte *) ALLOCA (PATH_MAX);
947 if (egetenv ("CMDPROXY")) 947 if (egetenv ("CMDPROXY"))
948 qxestrcpy (cmdname, egetenv ("CMDPROXY")); 948 qxestrcpy (cmdname, egetenv ("CMDPROXY"));
949 else 949 else
950 { 950 {
951 qxestrcpy (cmdname, XSTRING_DATA (Vinvocation_directory)); 951 qxestrcpy (cmdname, XSTRING_DATA (Vinvocation_directory));
952 qxestrcat (cmdname, (Intbyte *) "cmdproxy.exe"); 952 qxestrcat (cmdname, (Ibyte *) "cmdproxy.exe");
953 } 953 }
954 } 954 }
955 #endif 955 #endif
956 956
957 /* Create process */ 957 /* Create process */
1093 Lisp_Process *volatile p = XPROCESS (proc); 1093 Lisp_Process *volatile p = XPROCESS (proc);
1094 1094
1095 /* use a reasonable-sized buffer (somewhere around the size of the 1095 /* use a reasonable-sized buffer (somewhere around the size of the
1096 stream buffer) so as to avoid inundating the stream with blocked 1096 stream buffer) so as to avoid inundating the stream with blocked
1097 data. */ 1097 data. */
1098 Intbyte chunkbuf[512]; 1098 Ibyte chunkbuf[512];
1099 Bytecount chunklen; 1099 Bytecount chunklen;
1100 1100
1101 while (1) 1101 while (1)
1102 { 1102 {
1103 int writeret; 1103 int writeret;