home *** CD-ROM | disk | FTP | other *** search
- *** e:/perl5.002b3/doio.c Sat Feb 03 01:49:30 1996
- --- perl5/doio.c Tue Feb 20 15:49:36 1996
- ***************
- *** 942,947 ****
- --- 942,949 ----
- }
- }
-
- + #ifndef OS2
- +
- bool
- do_exec(cmd)
- char *cmd;
- ***************
- *** 1030,1035 ****
- --- 1032,1039 ----
- do_execfree();
- return FALSE;
- }
- +
- + #endif
-
- I32
- apply(type,mark,sp)
- *** e:/perl5.002b3/ext/DynaLoader/dl_os2.xs Tue Nov 14 04:58:42 1995
- --- perl5/ext/DynaLoader/dl_os2.xs Tue Feb 20 17:58:38 1996
- ***************
- *** 28,34 ****
- return (void *)handle;
-
- /* Not found. Check for non-FAT name and try truncated name. */
- - /* Don't know if this helps though... */
- for (beg = dot = path + strlen(path);
- beg > path && !strchr(":/\\", *(beg-1));
- beg--)
- --- 28,33 ----
- ***************
- *** 162,167 ****
- --- 161,167 ----
- char *
- mod2fname(sv)
- SV *sv;
- +
-
-
- # These functions should not need changing on any platform:
- *** e:/perl5.002b3/ext/DynaLoader/DynaLoader.pm Thu Feb 01 19:00:30 1996
- --- perl5/ext/DynaLoader/DynaLoader.pm Tue Feb 20 18:48:00 1996
- ***************
- *** 468,473 ****
- --- 468,474 ----
- Linux: dld_create_reference(@dl_require_symbols); dld_link($filename)
- NeXT: rld_load($filename, @dl_resolve_using)
- VMS: lib$find_image_symbol($filename,$dl_require_symbols[0])
- + OS/2: DosLoadModule(,,$filename,)
-
-
- =item dl_find_symbol()
- ***************
- *** 490,495 ****
- --- 491,497 ----
- Linux: dld_get_func($symbol) and/or dld_get_symbol($symbol)
- NeXT: rld_lookup("_$symbol")
- VMS: lib$find_image_symbol($libref,$symbol)
- + OS/2: DosQueryProcAddr($libref,0,$symbol,)
-
-
- =item dl_undef_symbols()
- *** e:/perl5.002b3/os2/os2.c Sun Dec 24 19:43:02 1995
- --- perl5/os2/os2.c Mon Feb 26 02:46:30 1996
- ***************
- *** 40,59 ****
- int r, status;
- Signal_t (*ihand)(); /* place to save signal during system() */
- Signal_t (*qhand)(); /* place to save signal during system() */
-
- ! if (pid < 0 || flag != 0)
- return pid;
-
- ihand = signal(SIGINT, SIG_IGN);
- qhand = signal(SIGQUIT, SIG_IGN);
- r = waitpid(pid, &status, 0);
- signal(SIGINT, ihand);
- signal(SIGQUIT, qhand);
- -
- statusvalue = (U16)status;
- if (r < 0)
- return -1;
- return status & 0xFFFF;
- }
-
- int
- --- 40,72 ----
- int r, status;
- Signal_t (*ihand)(); /* place to save signal during system() */
- Signal_t (*qhand)(); /* place to save signal during system() */
- + #ifndef __EMX__
- + RESULTCODES res;
- + int rpid;
- + #endif
-
- ! if (pid <= 0 || (flag & 0xFF) != P_WAIT)
- return pid;
-
- + #ifdef __EMX__
- ihand = signal(SIGINT, SIG_IGN);
- qhand = signal(SIGQUIT, SIG_IGN);
- r = waitpid(pid, &status, 0);
- signal(SIGINT, ihand);
- signal(SIGQUIT, qhand);
- statusvalue = (U16)status;
- if (r < 0)
- return -1;
- return status & 0xFFFF;
- + #else
- + ihand = signal(SIGINT, SIG_IGN);
- + r = DosWaitChild(DCWA_PROCESS, DCWW_WAIT, &res, &rpid, pid);
- + signal(SIGINT, ihand);
- + statusvalue = res.codeResult << 8 | res.codeTerminate;
- + if (r)
- + return -1;
- + return statusvalue;
- + #endif
- }
-
- int
- ***************
- *** 68,81 ****
- int flag = P_WAIT, trueflag;
-
- if (sp > mark) {
- ! New(401,Argv, sp - mark + 1, char*);
- ! a = Argv;
- !
- ! if (mark < sp && SvIOKp(*(mark+1))) {
- ++mark;
- flag = SvIVx(*mark);
- }
-
- while (++mark <= sp) {
- if (*mark)
- *a++ = SvPVx(*mark, na);
- --- 81,94 ----
- int flag = P_WAIT, trueflag;
-
- if (sp > mark) {
- ! if (mark < sp && SvNOKp(*(mark+1))) {
- ++mark;
- flag = SvIVx(*mark);
- }
-
- + New(401,Argv, sp - mark + 1, char*);
- + a = Argv;
- +
- while (++mark <= sp) {
- if (*mark)
- *a++ = SvPVx(*mark, na);
- ***************
- *** 102,108 ****
- }
-
- int
- ! do_spawn(cmd)
- char *cmd;
- {
- register char **a;
- --- 115,121 ----
- }
-
- int
- ! do_spawn2(cmd, execf)
- char *cmd;
- {
- register char **a;
- ***************
- *** 132,138 ****
- *s = '\0';
- break;
- }
- ! shell_cmd: return result(P_WAIT, spawnl(P_NOWAIT,shell,shell,copt,cmd,(char*)0));
- }
- }
- New(402,Argv, (s - cmd) / 2 + 2, char*);
- --- 145,153 ----
- *s = '\0';
- break;
- }
- ! shell_cmd: if (execf)
- ! return spawnl(P_OVERLAY,shell,shell,copt,cmd,(char*)0);
- ! return result(P_WAIT, spawnl(P_WAIT,shell,shell,copt,cmd,(char*)0));
- }
- }
- New(402,Argv, (s - cmd) / 2 + 2, char*);
- ***************
- *** 148,154 ****
- }
- *a = Nullch;
- if (Argv[0]) {
- ! rc = result(P_WAIT, spawnvp(P_NOWAIT,Argv[0],Argv));
- if (rc < 0 && dowarn)
- warn("Can't spawn \"%s\": %s", Argv[0], Strerror(errno));
- } else
- --- 163,172 ----
- }
- *a = Nullch;
- if (Argv[0]) {
- ! if (execf)
- ! rc = spawnvp(P_OVERLAY,Argv[0],Argv);
- ! else
- ! rc = result(P_WAIT, spawnvp(P_NOWAIT,Argv[0],Argv));
- if (rc < 0 && dowarn)
- warn("Can't spawn \"%s\": %s", Argv[0], Strerror(errno));
- } else
- ***************
- *** 157,162 ****
- --- 175,194 ----
- return rc;
- }
-
- + int
- + do_spawn(cmd)
- + char *cmd;
- + {
- + return do_spawn2(cmd, 0);
- + }
- +
- + bool
- + do_exec(cmd)
- + char *cmd;
- + {
- + return do_spawn2(cmd, 1);
- + }
- +
- /*****************************************************************************/
-
- #ifndef HAS_FORK
- ***************
- *** 170,195 ****
- #endif
-
- /*****************************************************************************/
- ! /* not implemented in EMX 0.9a */
-
- void * ctermid(x) { return 0; }
-
- ! #ifdef MYTTYNAME /* was not in emx0.9a */
- ! void * ttyname(x) { return 0; }
- ! #endif
-
- ! void * gethostent() { return 0; }
- ! void * getnetent() { return 0; }
- ! void * getprotoent() { return 0; }
- ! void * getservent() { return 0; }
- ! void sethostent(x) {}
- ! void setnetent(x) {}
- ! void setprotoent(x) {}
- ! void setservent(x) {}
- ! void endhostent(x) {}
- ! void endnetent(x) {}
- ! void endprotoent(x) {}
- ! void endservent(x) {}
-
- /*****************************************************************************/
- /* stat() hack for char/block device */
- --- 202,274 ----
- #endif
-
- /*****************************************************************************/
- ! /* missing in malloc.c */
- !
- ! void *
- ! calloc(size_t n, size_t s)
- ! {
- ! void *p;
- !
- ! n *= s;
- ! p = malloc(n);
- ! if (p)
- ! memset(p, 0, n);
- ! return p;
- ! }
- !
- ! /*****************************************************************************/
- ! /* not implemented in EMX 0.9b */
-
- void * ctermid(x) { return 0; }
-
- ! /*****************************************************************************/
- ! /* my socket forwarders - EMX lib only provides static forwarders */
- !
- ! static HMODULE htcp = 0;
-
- ! static void *
- ! tcp0(char *name)
- ! {
- ! static BYTE buf[20];
- ! PFN fcn;
- ! if (!htcp)
- ! DosLoadModule(buf, sizeof buf, "tcp32dll", &htcp);
- ! if (htcp && DosQueryProcAddr(htcp, 0, name, &fcn) == 0)
- ! return (void *) ((void * (*)(void)) fcn) ();
- ! return 0;
- ! }
- !
- ! static void
- ! tcp1(char *name, int arg)
- ! {
- ! static BYTE buf[20];
- ! PFN fcn;
- ! if (!htcp)
- ! DosLoadModule(buf, sizeof buf, "tcp32dll", &htcp);
- ! if (htcp && DosQueryProcAddr(htcp, 0, name, &fcn) == 0)
- ! ((void (*)(int)) fcn) (arg);
- ! }
- !
- ! void * gethostent() { return tcp0("GETHOSTENT"); }
- ! void * getnetent() { return tcp0("GETNETENT"); }
- ! void * getprotoent() { return tcp0("GETPROTOENT"); }
- ! void * getservent() { return tcp0("GETSERVENT"); }
- ! void sethostent(x) { tcp1("SETHOSTENT", x); }
- ! void setnetent(x) { tcp1("SETNETENT", x); }
- ! void setprotoent(x) { tcp1("SETPROTOENT", x); }
- ! void setservent(x) { tcp1("SETSERVENT", x); }
- ! void endhostent() { tcp0("ENDHOSTENT"); }
- ! void endnetent() { tcp0("ENDNETENT"); }
- ! void endprotoent() { tcp0("ENDPROTOENT"); }
- ! void endservent() { tcp0("ENDSERVENT"); }
- !
- ! /*****************************************************************************/
- ! /* not implemented in C Set++ */
- !
- ! #ifndef __EMX__
- ! int setuid(x) { errno = EINVAL; return -1; }
- ! int setgid(x) { errno = EINVAL; return -1; }
- ! #endif
-
- /*****************************************************************************/
- /* stat() hack for char/block device */
- *** e:/perl5.002b3/os2/os2ish.h Tue Feb 20 13:52:32 1996
- --- perl5/os2/os2ish.h Tue Feb 20 14:20:58 1996
- ***************
- *** 4,10 ****
- --- 4,12 ----
- * This symbol, if defined, indicates that the ioctl() routine is
- * available to set I/O characteristics
- */
- + #ifdef __EMX__
- #define HAS_IOCTL /**/
- + #endif
-
- /* HAS_UTIME:
- * This symbol, if defined, indicates that the routine utime() is
- ***************
- *** 12,18 ****
- --- 14,22 ----
- */
- #define HAS_UTIME /**/
-
- + #ifndef __IBMC__
- #define HAS_KILL
- + #endif
- #define HAS_WAIT
-
- #ifndef SIGABRT
- ***************
- *** 21,27 ****
- --- 25,36 ----
- #ifndef SIGILL
- # define SIGILL 6 /* blech */
- #endif
- +
- + #ifdef __IBMC__
- + #define ABORT() abort();
- + #else
- #define ABORT() kill(getpid(),SIGABRT);
- + #endif
-
- #define BIT_BUCKET "/dev/null" /* Will this work? */
-
- ***************
- *** 29,40 ****
- _response(argcp, argvp); \
- _wildcard(argcp, argvp); } while (0)
-
- -
- - #define PERL_SYS_INIT(argcp, argvp) do { \
- - _response(argcp, argvp); \
- - _wildcard(argcp, argvp); } while (0)
- -
- -
- /*
- * fwrite1() should be a routine with the same calling sequence as fwrite(),
- * but which outputs all of the bytes requested as a single stream (unlike
- --- 38,43 ----
- ***************
- *** 47,60 ****
-
- /*****************************************************************************/
-
- #include <stdlib.h> /* before the following definitions */
- #include <unistd.h> /* before the following definitions */
-
- #define chdir _chdir2
- #define getcwd _getcwd2
-
- ! /* This guy is needed for quick stdstd */
-
- #if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE) && defined(STDIO_CNT_LVALUE)
- # define _filbuf _fill
- /* Perl uses ungetc only with successful return */
- --- 50,81 ----
-
- /*****************************************************************************/
-
- + #ifdef __EMX__
- +
- #include <stdlib.h> /* before the following definitions */
- #include <unistd.h> /* before the following definitions */
-
- #define chdir _chdir2
- #define getcwd _getcwd2
-
- ! #define OS2_STAT_HACK 1
- !
- ! #else /* __IBMC__ */
- !
- ! #define __EXTENDED__
- !
- ! #include <fcntl.h>
- ! #include <io.h>
- ! #include <direct.h>
- ! #include <process.h>
- !
- ! #define mkdir(x,y) _mkdir(x)
-
- + #define OS2_STAT_HACK 0
- +
- + #endif /* __IBMC__ */
- +
- + /* This guy is needed for quick stdstd */
- #if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE) && defined(STDIO_CNT_LVALUE)
- # define _filbuf _fill
- /* Perl uses ungetc only with successful return */
- ***************
- *** 65,71 ****
-
- #define OP_BINARY O_BINARY
-
- ! #define OS2_STAT_HACK 1
- #if OS2_STAT_HACK
-
- #define Stat(fname,bufptr) os2_stat((fname),(bufptr))
- --- 86,92 ----
-
- #define OP_BINARY O_BINARY
-
- !
- #if OS2_STAT_HACK
-
- #define Stat(fname,bufptr) os2_stat((fname),(bufptr))
- *** e:/perl5.002b3/perl.c Thu Feb 01 18:40:14 1996
- --- perl5/perl.c Mon Feb 26 01:16:04 1996
- ***************
- *** 1174,1180 ****
- #endif
- #ifdef OS2
- fputs("OS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"
- ! "Version 5 port Copyright (c) 1994-1995, Andreas Kaiser\n", stdout);
- #endif
- #ifdef atarist
- fputs("atariST series port, ++jrb bammi@cadence.com\n", stdout);
- --- 1174,1180 ----
- #endif
- #ifdef OS2
- fputs("OS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"
- ! "Version 5 port Copyright (c) 1994-1996, Andreas Kaiser\n", stdout);
- #endif
- #ifdef atarist
- fputs("atariST series port, ++jrb bammi@cadence.com\n", stdout);
-