dslinux/user/perl/NetWare CLIBsdio.h CLIBstr.h CLIBstuf.c CLIBstuf.h MP.imp Main.c Makefile NWTInfo.c NWUtil.c Nwmain.c Nwpipe.c config.wc config_H.wc config_h.PL config_sh.PL deb.h dl_netware.xs intdef.h interface.c interface.cpp interface.h iperlhost.h netware.h nw5.c nw5iop.h nw5sck.c nw5sck.h nw5thread.c nw5thread.h nwhashcls.cpp nwhashcls.h nwperlhost.h nwperlsys.c nwperlsys.h nwpipe.h nwplglob.c nwplglob.h nwstdio.h nwtinfo.h nwutil.h nwvmem.h perllib.cpp splittree.pl sv_nw.c win32ish.h

cayenne dslinux_cayenne at user.in-berlin.de
Mon Dec 4 17:58:58 CET 2006


Update of /cvsroot/dslinux/dslinux/user/perl/NetWare
In directory antilope:/tmp/cvs-serv17422/NetWare

Added Files:
	CLIBsdio.h CLIBstr.h CLIBstuf.c CLIBstuf.h MP.imp Main.c 
	Makefile NWTInfo.c NWUtil.c Nwmain.c Nwpipe.c config.wc 
	config_H.wc config_h.PL config_sh.PL deb.h dl_netware.xs 
	intdef.h interface.c interface.cpp interface.h iperlhost.h 
	netware.h nw5.c nw5iop.h nw5sck.c nw5sck.h nw5thread.c 
	nw5thread.h nwhashcls.cpp nwhashcls.h nwperlhost.h nwperlsys.c 
	nwperlsys.h nwpipe.h nwplglob.c nwplglob.h nwstdio.h nwtinfo.h 
	nwutil.h nwvmem.h perllib.cpp splittree.pl sv_nw.c win32ish.h 
Log Message:
Adding fresh perl source to HEAD to branch from

--- NEW FILE: nwstdio.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: NWTInfo.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: CLIBstuf.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: Makefile ---
##
## Makefile to build Perl on NetWare using Microsoft NMAKE and CodeWarrior tools
##
## This will build perl.nlm, perl.lib and extensions called NLMs
##

##
## Please read README.netware before starting
##

##
## Build configuration.  Edit the values below to suit your needs.
##

## This file is created by using the makefile that creates Windows Perl as the reference
## Author:
## Date Created: 13th July 2000
## Date Modified: 21st March 2002
# Name of the NLM
[...1477 lines suppressed...]
	cd ..\ext
	xcopy /f /r /i /s /d *.t $(INST_NW_TOP2)\scripts\t\ext
	cd ..\netware\t
	xcopy /f /r /i /s /d *.pl $(INST_NW_TOP2)\scripts\t
	cd ..

nwinstall: utils installnw install_tests

inst_lib : $(CONFIGPM)
	copy ..\win32\splittree.pl .. 
	$(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)
	$(RCOPY) ..\lib $(INST_LIB)\*.*

clean : 
	- at erase miniperlmain$(o)
	- at erase /f config.h
	- at erase $(DLL_OBJ)
	- at erase ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp *.res
	- at erase ..\t\*.exe ..\t\*.dll ..\t\*.bat
	- at erase ..\x2p\*.nlm ..\x2p\*.bat

--- NEW FILE: CLIBstr.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: CLIBstuf.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwhashcls.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nw5thread.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: dl_netware.xs ---
/* dl_netware.xs
 * 
 * Platform:	NetWare 
 * Author:	SGP
 * Created:	21st July 2000
 * Last Modified: 23rd Oct 2000
 * Note: !!!Any modification to the xs file to be done to the one which is under netware directory!!!
 * Modification History
 * 23rd Oct - Failing to find nlms with long names fixed - sdbm_file
 */

/* 

NetWare related modifications done on dl_win32.xs file created by Wei-Yuen Tan to get this file.

*/


#include <nwthread.h> 
#include <nwerrno.h>

#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"


//function pointer for UCSInitialize
typedef void (*PFUCSINITIALIZE) ();

#include "dlutils.c"	/* SaveError() etc	*/

static void
dl_private_init(pTHX)
{
    (void)dl_generic_private_init(aTHX);
}


MODULE = DynaLoader	PACKAGE = DynaLoader

BOOT:
    (void)dl_private_init(aTHX);


void *
dl_load_file(filename,flags=0)
    char *		filename
    int			flags
    PREINIT:
    CODE:
  {
	char* mod_name = filename;

	//Names with more than 8 chars can't be found with FindNLMHandle
	//8 - Name, 1 - Period, 3 - Extension, 1 - String terminator
	char mod_name8[13]={'\0'};
	char *p=NULL;
	char *buffer=NULL;
	int nNameLength=0;
	unsigned int nlmHandle=0;

	while (*mod_name) mod_name++;
	
	//Get the module name with extension to see if it is already loaded
	while (mod_name > filename && mod_name[-1] != '/' && mod_name[-1] != '\\') mod_name--;

    DLDEBUG(1,PerlIO_printf(Perl_debug_log,"dl_load_file(%s):\n", filename));

	buffer = strdup(mod_name);
	p = strtok (buffer, "."); 
	if (p) {
		nNameLength = (strlen(p)>8)?8:strlen(p);
		memcpy(mod_name8,p,nNameLength);
		*(mod_name8 + nNameLength) = '.';
		*(mod_name8 + nNameLength+1) ='\0';
		p = strtok (NULL, ".");
		if (p){
			strcat(mod_name8,p);

			if ( (nlmHandle = FindNLMHandle(mod_name8)) == NULL )
			{
				//NLM/NLP not loaded, load it and get the handle
				if(spawnlp(P_NOWAIT, filename, filename, NULL)!=0)
				{
					//failed to load the NLM/NLP, this unlikely
					//If multiple scripts are executed for the first time before running any other
					//ucs script, sometimes there used to be an abend.
					switch(NetWareErrno)
					{
					case LOAD_CAN_NOT_LOAD_MULTIPLE_COPIES:
						nlmHandle = FindNLMHandle(mod_name8);
						break;
					case LOAD_ALREADY_IN_PROGRESS:
#ifdef MPK_ON
							kYieldThread();
#else
							ThreadSwitch();
#endif	//MPK_ON
						nlmHandle = FindNLMHandle(mod_name8);
						break;
					default:
						nlmHandle = 0;
					}
				}
				else
				{
					nlmHandle = FindNLMHandle(mod_name8);
				}
			}
			//use Perl2UCS or UCSExt encountered :
			//initialize UCS, this has to be terminated when the script finishes execution
			//Is the script intending to use UCS Extensions?
			//This should be done once per script execution
			if ((strcmp(mod_name,"Perl2UCS.nlm")==0) || (strcmp(mod_name,"UCSExt.nlm")==0))
			{
				unsigned int moduleHandle = 0;
				moduleHandle = FindNLMHandle("UCSCORE.NLM");
				if (moduleHandle)
				{
					PFUCSINITIALIZE ucsinit = (PFUCSINITIALIZE)ImportSymbol(moduleHandle,"UCSInitialize");
					if (ucsinit!=NULL)
						(*ucsinit)();
				}
			}

			DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", nlmHandle));
			ST(0) = sv_newmortal() ;
			if (nlmHandle == NULL)
			//SaveError(aTHX_ "load_file:%s",
			//	  OS_Error_String(aTHX)) ;
			ConsolePrintf("load_file error :  %s\n", mod_name8);
			else
			sv_setiv( ST(0), (IV)nlmHandle);
		}
	}
	free(buffer);

	
  }

void *
dl_find_symbol(libhandle, symbolname)
    void *	libhandle
    char *	symbolname
    CODE:
    DLDEBUG(2,PerlIO_printf(Perl_debug_log,"dl_find_symbol(handle=%x, symbol=%s)\n",
		      libhandle, symbolname));

	//import the symbol that the dynaloader is asking for.
	RETVAL = (void *)ImportSymbol((int)libhandle, symbolname);

    DLDEBUG(2,PerlIO_printf(Perl_debug_log,"  symbolref = %x\n", RETVAL));
    ST(0) = sv_newmortal() ;
    if (RETVAL == NULL)
	//SaveError(aTHX_ "find_symbol:%s",
	//	  OS_Error_String(aTHX)) ;
	ConsolePrintf("find_symbol error \n");
    else
	sv_setiv( ST(0), (IV)RETVAL);

void
dl_undef_symbols()
    PPCODE:


# These functions should not need changing on any platform:

void
dl_install_xsub(perl_name, symref, filename="$Package")
    char *		perl_name
    void *		symref 
    char *		filename
    CODE:
    DLDEBUG(2,PerlIO_printf(Perl_debug_log,"dl_install_xsub(name=%s, symref=%x)\n",
		      perl_name, symref));
    ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name,
					(void(*)(pTHX_ CV *))symref,
					filename)));


char *
dl_error()
    CODE:
    dMY_CXT;
    RETVAL = dl_last_error ;
    OUTPUT:
    RETVAL

# end.



--- NEW FILE: nwpipe.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: CLIBsdio.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: deb.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nw5iop.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: iperlhost.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: config_H.wc ---
/*
 * This file was produced by running the config_h.SH script, which
 * gets its values from undef, which is generally produced by
 * running Configure.
 *
 * Feel free to modify any of this as the need arises.  Note, however,
 * that running config_h.SH again will wipe out any changes you've made.
 * For a more permanent change edit undef and rerun config_h.SH.
 *
 * $Id: config_H.wc,v 1.1 2006-12-04 16:58:55 dslinux_cayenne Exp $
 */

/*
 * Package name      : perl5
 * Source directory  : 
 * Configuration time: Thu Jun 21 17:44:02 2001
 * Configured by     : Administrator
 * Target system     : 
 */
[...3422 lines suppressed...]
 *	This symbol, if defined, indicates that you must access
 *	character data through U32-aligned pointers.
 */
/*#define U32_ALIGNMENT_REQUIRED	/**/

/* HAS_USLEEP_PROTO:
 *	This symbol, if defined, indicates that the system provides
 *	a prototype for the usleep() function.  Otherwise, it is up
 *	to the program to supply one.  A good guess is
 *		extern int usleep(useconds_t);
 */
/*#define	HAS_USLEEP_PROTO	/**/

/* HAS_PTHREAD_ATFORK:
 *	This symbol, if defined, indicates that the pthread_atfork routine
 *	is available to setup fork handlers.
 */
/*#define HAS_PTHREAD_ATFORK		/**/

#endif

--- NEW FILE: nwperlsys.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: netware.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: win32ish.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nw5thread.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: perllib.cpp ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwperlhost.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwvmem.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwutil.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwtinfo.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: config.wc ---
## Configured by: ~cf_email~
## Target system: NetWare 
Author='Guruprasad'
PERL_CONFIG_SH='true'
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
Mcc='Mcc'
RCSfile='$RCSfile'
Revision='$Revision'
Source=''
State=''
_a='.lib'
_exe='.exe'
_nlm='.nlm'
_nlp='.nlp'
_o='.obj'
afs='false'
alignbytes='8'
ansi2knr=''
aphostname=''
api_revision='~PERL_API_REVISION~'
api_subversion='~PERL_API_SUBVERSION~'
api_version='~PERL_API_VERSION~'
api_versionstring='~PERL_API_REVISION~.~PERL_API_VERSION~.~PERL_API_SUBVERSION~'
ar='lib386'
archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
archname64=''
archname='NetWare'
archobjs=''
asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
bison=''
byacc='byacc'
byteorder='1234'
c=''
castflags='0'
cat='type'
cc='mwccnlm'
cccdlflags=' '
ccdlflags=' '
ccflags='-MD -DNETWARE'
ccsymbols=''
cf_by='nobody'
cf_email='nobody at no.where.net'
cf_time=''
charsize='1'
chgrp=''
chmod=''
chown=''
clocktype='clock_t'
comm=''
compress=''
contains='grep'
cp='copy'
cpio=''
cpp='cl -nologo -E'
cpp_stuff='42'
cppccsymbols=''
cppflags='-DNETWARE'
cpplast=''
cppminus=''
cpprun='cl -nologo -E'
cppstdin='cl -nologo -E'
cppsymbols=''
crosscompile='undef'
crypt_r_proto='0'
cryptlib=''
csh='undef'
ctermid_r_proto='0'
ctime_r_proto='0'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_PRIEldbl='undef'
d_PRIFldbl='define'
d_PRIGldbl='define'
d_PRIX64='undef'
d_PRId64='undef'
d_PRIeldbl='undef'
d_PRIfldbl='define'
d_PRIgldbl='define'
d_PRIi64='undef'
d_PRIo64='undef'
d_PRIu64='undef'
d_PRIx64='undef'
d_SCNfldbl='undef'
d__fwalk='undef'
d_access='define'
d_accessx='undef'
d_aintl='undef'
d_alarm='undef'
d_archlib='define'
d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribute_format='undef'
d_attribute_malloc='undef'
d_attribute_nonnull='undef'
d_attribute_noreturn='undef'
d_attribute_pure='undef'
d_attribute_unused='undef'
d_attribute_warn_unused_result='undef'
d_bcmp='undef'
d_bcopy='undef'
d_bsd='define'
d_bsdgetpgrp='undef'
d_bsdsetpgrp='undef'
d_bzero='undef'
d_casti32='undef'
d_castneg='define'
d_charvspr='undef'
d_chown='undef'
d_chroot='undef'
d_chsize='define'
d_class='undef'
d_clearenv='undef'
d_closedir='define'
d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_crypt='undef'
d_crypt_r='undef'
d_csh='undef'
d_ctermid_r='undef'
d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='define'
d_dbminitproto='undef'
d_difftime='define'
d_dirfd='undef'
d_dirnamlen='undef'
d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
d_eaccess='undef'
d_endgrent='undef'
d_endgrent_r='undef'
d_endhent='undef'
d_endhostent_r='undef'
d_endnent='undef'
d_endnetent_r='undef'
d_endpent='undef'
d_endprotoent_r='undef'
d_endpwent='undef'
d_endpwent_r='undef'
d_endsent='undef'
d_endservent_r='undef'
d_endspent='undef'
d_eofnblk='define'
d_eunice='undef'
d_faststdio='undef'
d_fchdir='undef'
d_fchmod='undef'
d_fchown='undef'
d_fcntl='undef'
d_fcntl_can_lock='undef'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_finite='undef'
d_finitel='undef'
d_flexfnam='define'
d_flock='define'
d_flockproto='undef'
d_fork='undef'
d_fp_class='undef'
d_fpathconf='undef'
d_fpclass='undef'
d_fpclassify='undef'
d_fpclassl='undef'
d_fpos64_t='undef'
d_frexpl='undef'
d_fs_data_s='undef'
d_fseeko='undef'
d_fsetpos='define'
d_fstatfs='undef'
d_fstatvfs='undef'
d_fsync='undef'
d_ftello='undef'
d_ftime='define'
d_futimes='undef'
d_getcwd='define'
d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='undef'
d_getgrent_r='undef'
d_getgrgid_r='undef'
d_getgrnam_r='undef'
d_getgrps='undef'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='undef'
d_gethname='define'
d_gethostbyaddr_r='undef'
d_gethostbyname_r='undef'
d_gethostent_r='undef'
d_gethostprotos='define'
d_getitimer='undef'
d_getlogin='define'
d_getlogin_r='undef'
d_getmnt='undef'
d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
d_getnetbyaddr_r='undef'
d_getnetbyname_r='undef'
d_getnetent_r='undef'
d_getnetprotos='define'
d_getpagsz='undef'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='undef'
d_getpgid='undef'
d_getpgrp2='undef'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
d_getprotobyname_r='undef'
d_getprotobynumber_r='undef'
d_getprotoent_r='undef'
d_getprotoprotos='define'
d_getprpwnam='undef'
d_getpwent='undef'
d_getpwent_r='undef'
d_getpwnam_r='undef'
d_getpwuid_r='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
d_getservbyname_r='undef'
d_getservbyport_r='undef'
d_getservent_r='undef'
d_getservprotos='define'
d_getspent='undef'
d_getspnam='undef'
d_getspnam_r='undef'
d_gettimeod='undef'
d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_htonl='define'
d_ilogbl='undef'
d_index='undef'
d_inetaton='undef'
d_int64_t='undef'
d_isascii='define'
d_isfinite='undef'
d_isinf='undef'
d_isnan='undef'
d_isnanl='undef'
d_killpg='undef'
d_lchown='undef'
d_ldbl_dig='define'
d_libm_lib_version='undef'
d_link='define'
d_localtime_r='undef'
d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_longlong='undef'
d_lseekproto='define'
d_lstat='undef'
d_madvise='undef'
d_malloc_good_size='undef'
d_malloc_size='undef'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memchr='define'
d_memcmp='define'
d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
d_mkdtemp='undef'
d_mkfifo='undef'
d_mkstemp='undef'
d_mkstemps='undef'
d_mktime='define'
d_mmap='undef'
d_modfl='undef'
d_modfl_pow32_bug='undef'
d_modflproto='undef'
d_mprotect='undef'
d_msg='undef'
d_msg_ctrunc='undef'
d_msg_dontroute='undef'
d_msg_oob='undef'
d_msg_peek='undef'
d_msg_proxy='undef'
d_msgctl='undef'
d_msgget='undef'
d_msghdr_s='undef'
d_msgrcv='undef'
d_msgsnd='undef'
d_msync='undef'
d_munmap='undef'
d_mymalloc='undef'
d_nice='undef'
d_nl_langinfo='undef'
d_nv_preserves_uv='define'
d_nv_zero_is_allbits_zero='undef'
d_off64_t='undef'
d_old_pthread_create_joinable='undef'
d_oldpthreads='undef'
d_oldsock='undef'
d_open3='undef'
d_pathconf='undef'
d_pause='undef'
d_perl_otherlibdirs='undef'
d_phostname='undef'
d_pipe='define'
d_poll='undef'
d_portable='define'
d_procselfexe='undef'
d_pthread_atfork='undef'
d_pthread_attr_setscope='undef'
d_pthread_yield='undef'
d_pwage='undef'
d_pwchange='undef'
d_pwclass='undef'
d_pwcomment='undef'
d_pwexpire='undef'
d_pwgecos='undef'
d_pwpasswd='undef'
d_pwquota='undef'
d_qgcvt='undef'
d_quad='undef'
d_random_r='undef'
d_readdir64_r='undef'
d_readdir='define'
d_readdir_r='undef'
d_readlink='undef'
d_readv='undef'
d_recvmsg='undef'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
d_safebcpy='undef'
d_safemcpy='undef'
d_sanemcmp='define'
d_sbrkproto='undef'
d_scalbnl='undef'
d_sched_yield='undef'
d_scm_rights='undef'
d_seekdir='define'
d_select='define'
d_sem='undef'
d_semctl='undef'
d_semctl_semid_ds='undef'
d_semctl_semun='undef'
d_semget='undef'
d_semop='undef'
d_sendmsg='undef'
d_setegid='undef'
d_seteuid='undef'
d_setgrent='undef'
d_setgrent_r='undef'
d_setgrps='undef'
d_sethent='undef'
d_sethostent_r='undef'
d_setitimer='undef'
d_setlinebuf='undef'
d_setlocale='define'
d_setlocale_r='undef'
d_setnent='undef'
d_setnetent_r='undef'
d_setpent='undef'
d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
d_setproctitle='undef'
d_setprotoent_r='undef'
d_setpwent='undef'
d_setpwent_r='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
d_setreuid='undef'
d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
d_setservent_r='undef'
d_setsid='undef'
d_setspent='undef'
d_setvbuf='define'
d_sfio='undef'
d_shm='undef'
d_shmat='undef'
d_shmatprototype='undef'
d_shmctl='undef'
d_shmdt='undef'
d_shmget='undef'
d_sigaction='undef'
d_sigprocmask='undef'
d_sigsetjmp='undef'
d_snprintf='undef'
d_sockatmark='undef'
d_sockatmarkproto='undef'
d_socket='define'
d_socklen_t='undef'
d_sockpair='undef'
d_socks5_init='undef'
d_sprintf_returns_strlen='undef'
d_sqrtl='undef'
d_srand48_r='undef'
d_srandom_r='undef'
d_sresgproto='undef'
d_sresuproto='undef'
d_statblks='undef'
d_statfs_f_flags='undef'
d_statfs_s='undef'
d_statvfs='undef'
d_stdio_cnt_lval='undef'
d_stdio_ptr_lval='undef'
d_stdio_ptr_lval_nochange_cnt='undef'
d_stdio_ptr_lval_sets_cnt='undef'
d_stdio_stream_array='undef'
d_stdiobase='undef'
d_stdstdio='undef'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
d_strerror_r='undef'
d_strftime='define'
d_strlcat='undef'
d_strlcpy='undef'
d_strtod='define'
d_strtol='define'
d_strtold='undef'
d_strtoll='undef'
d_strtoq='undef'
d_strtoul='define'
d_strtoull='undef'
d_strtouq='undef'
d_strxfrm='define'
d_suidsafe='undef'
d_symlink='undef'
d_syscall='undef'
d_syscallproto='undef'
d_sysconf='undef'
d_sysernlst=''
d_syserrlst='define'
d_system='define'
d_tcgetpgrp='undef'
d_tcsetpgrp='undef'
d_telldir='define'
d_telldirproto='define'
d_time='define'
d_times='undef'
d_tm_tm_gmtoff='undef'
d_tm_tm_zone='undef'
d_tmpnam_r='undef'
d_truncate='undef'
d_ttyname_r='undef'
d_tzname='define'
d_u32align='undef'
d_ualarm='undef'
d_umask='define'
d_uname='define'
d_union_semun='define'
d_unordered='undef'
d_unsetenv='undef'
d_usleep='undef'
d_usleepproto='undef'
d_ustat='undef'
d_vendorarch='undef'
d_vendorbin='undef'
d_vendorlib='undef'
d_vfork='undef'
d_void_closedir='undef'
d_voidsig='define'
d_voidtty=''
d_volatile='define'
d_vprintf='define'
d_vsnprintf='undef'
d_wait4='undef'
d_waitpid='define'
d_wcstombs='define'
d_writev='undef'
d_wctomb='define'
d_xenix='undef'
date='date'
db_hashtype='int'
db_prefixtype='int'
def_perlroot='sys:\perl\scripts'
def_temp='sys:\perl\temp'
defvoidused='15'
direntrytype='DIR'
dlext='nlm'
dlsrc='dl_netware.xs'
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs Thread'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
egrep='egrep'
emacs=''
endgrent_r_proto='0'
endhostent_r_proto='0'
endnetent_r_proto='0'
endprotoent_r_proto='0'
endpwent_r_proto='0'
endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
extensions='~static_ext~ ~dynamic_ext~ ~nonxs_ext~'
fflushNULL='define'
fflushall='undef'
find='find'
firstmakefile='makefile'
flex=''
fpossize='4'
fpostype='fpos_t'
freetype='void'
full_ar=''
full_csh=''
full_sed=''
gccversion=''
getgrent_r_proto='0'
getgrgid_r_proto='0'
getgrnam_r_proto='0'
gethostbyaddr_r_proto='0'
gethostbyname_r_proto='0'
gethostent_r_proto='0'
getlogin_r_proto='0'
getnetbyaddr_r_proto='0'
getnetbyname_r_proto='0'
getnetent_r_proto='0'
getprotobyname_r_proto='0'
getprotobynumber_r_proto='0'
getprotoent_r_proto='0'
getpwent_r_proto='0'
getpwnam_r_proto='0'
getpwuid_r_proto='0'
getservbyname_r_proto='0'
getservbyport_r_proto='0'
getservent_r_proto='0'
getspnam_r_proto='0'
gidformat='"ld"'
gidsign='-1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib  /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/shlib '
gmtime_r_proto='0'
grep='grep'
groupcat=''
groupstype='gid_t'
gzip='gzip'
h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat='ypcat hosts'
huge=''
i16size='2'
i16type='short'
i32size='4'
i32type='long'
i64size='8'
i64type='__int64'
i8size='1'
i8type='char'
i_arpainet='define'
i_bsdioctl=''
i_crypt='undef'
i_db='undef'
i_dbm='undef'
i_dirent='define'
i_dld='undef'
i_dlfcn='define'
i_fcntl='define'
i_float='define'
i_fp='undef'
i_fp_class='undef'
i_gdbm='undef'
i_grp='undef'
i_ieeefp='undef'
i_inttypes='undef'
i_langinfo='undef'
i_libutil='undef'
i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
i_math='define'
i_memory='undef'
i_mntent='undef'
i_ndbm='undef'
i_netdb='define'
i_neterrno='undef'
i_netinettcp='undef'
i_niin='define'
i_poll='undef'
i_prot='undef'
i_pthread='undef'
i_pwd='undef'
i_rpcsvcdbm='define'
i_sfio='undef'
i_sgtty='undef'
i_shadow='undef'
i_socks='undef'
i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sunmath='undef'
i_sysaccess='undef'
i_sysdir='undef'
i_sysfile='undef'
i_sysfilio='define'
i_sysin='undef'
i_sysioctl='define'
i_syslog='undef'
i_sysmman='undef'
i_sysmode='undef'
i_sysmount='undef'
i_sysndir='undef'
i_sysparam='undef'
i_sysresrc='undef'
i_syssecrt='undef'
i_sysselct='undef'
i_syssockio='define'
i_sysstat='define'
i_sysstatfs='undef'
i_sysstatvfs='undef'
i_systime='undef'
i_systimek='undef'
i_systimes='undef'
i_systypes='define'
i_sysuio='undef'
i_sysun='undef'
i_sysutsname='define'
i_sysvfs='undef'
i_syswait='undef'
i_termio='undef'
i_termios='undef'
i_time='define'
i_unistd='undef'
i_ustat='undef'
i_utime='define'
i_values='undef'
i_varargs='undef'
i_varhdr='varargs.h'
i_vfork='undef'
ignore_versioned_solibs=''
inc_version_list=''
inc_version_list_init='0'
incpath=''
inews=''
installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
installhtmldir='~INST_TOP~~INST_VER~\html'
installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
installman1dir='~INST_TOP~~INST_VER~\man\man1'
installman3dir='~INST_TOP~~INST_VER~\man\man3'
installnwlcgi='~INST_NW_TOP2~~INST_NW_VER~\lcgi'
installnwlib='~INST_NW_TOP2~~INST_NW_VER~\lib'
installnwscripts='~INST_NW_TOP2~~INST_NW_VER~\scripts'
installnwsystem='~INST_NW_TOP2~~INST_NW_VER~\system'
installprefix='~INST_TOP~~INST_VER~'
installprefixexp='~INST_TOP~~INST_VER~'
installprivlib='~INST_TOP~~INST_VER~\lib'
installscript='~INST_TOP~~INST_VER~\bin'
installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
installsitebin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
installsitelib='~INST_TOP~\site~INST_VER~\lib'
installstyle='lib'
installusrbinperl='undef'
installvendorarch=''
installvendorbin=''
installvendorlib=''
intsize='4'
ivdformat='"ld"'
ivsize='4'
ivtype='long'
known_extensions='~static_ext~ ~dynamic_ext~ ~nonxs_ext~'
ksh=''
large=''
ld='link'
lddlflags='-dll ~LINK_FLAGS~'
ldflags='~LINK_FLAGS~'
ldlibpthname=''
less='less'
lib_ext='.lib'
libc=''
libperl='perl.lib'
libpth=''
libs=''
libsdirs=''
libsfiles=''
libsfound=''
libspath=''
libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
lkflags=''
ln=''
lns='copy'
localtime_r_proto='0'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='10'
longlongsize='8'
longsize='4'
lp=''
lpr=''
ls='dir'
lseeksize='4'
lseektype='off_t'
mail=''
mailx=''
make='nmake'
make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
man1dir='~INST_TOP~~INST_VER~\man\man1'
man1direxp='~INST_TOP~~INST_VER~\man\man1'
man1ext='1'
man3dir='~INST_TOP~~INST_VER~\man\man3'
man3direxp='~INST_TOP~~INST_VER~\man\man3'
man3ext='3'
medium=''
mips_type=''
mkdir='mkdir'
mmaptype='void *'
models='none'
modetype='mode_t'
more='more /e'
multiarch='undef'
mv=''
myarchname='MSWin32'
mydomain=''
myhostname=''
myuname=''
n='-n'
netdb_hlen_type='int'
netdb_host_type='char *'
netdb_name_type='char *'
netdb_net_type='long'
nm=''
nm_opt=''
nm_so_opt=''
nonxs_ext='Errno'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
nvGUformat='"G"'
nveformat='"e"'
nvfformat='"f"'
nvgformat='"g"'
nvsize='8'
nvtype='double'
nv_preserves_uv_bits='32'
o_nonblock='O_NONBLOCK'
obj_ext='.obj'
old_pthread_create_joinable=''
optimize='-O'
orderlib='false'
osname='NetWare'
osvers='5.x'
package='perl5'
pager='more /e'
passcat=''
patchlevel='~PATCHLEVEL~'
path_sep=';'
perl5=''
perl='perl'
perladmin=''
perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.nlm'
pg=''
phostname='hostname'
pidtype='int'
plibpth=''
pmake=''
pr=''
prefix='~INST_TOP~'
prefixexp='~INST_DRV~'
privlib='~INST_NW_TOP1~\lib'
privlibexp='~INST_TOP~~INST_VER~\lib'
procselfexe=''
prototype='define'
ptrsize='4'
quadkind='5'
quadtype='__int64'
randbits='15'
randfunc='rand'
random_r_proto='0'
randseedtype='unsigned'
ranlib='rem'
rd_nodata='-1'
readdir64_r_proto='0'
readdir_r_proto='0'
revision='5'
rm='del'
rmail=''
runnm='true'
sPRIEldbl='"E"'
sPRIFldbl='"F"'
sPRIGldbl='"G"'
sPRIX64='"lX"'
sPRId64='"ld"'
sPRIeldbl='"e"'
sPRIfldbl='"f"'
sPRIgldbl='"g"'
sPRIi64='"li"'
sPRIo64='"lo"'
sPRIu64='"lu"'
sPRIx64='"lx"'
sSCNfldbl=''
sched_yield=''
scriptdir='~INST_TOP~~INST_VER~\bin'
scriptdirexp='~INST_TOP~~INST_VER~\bin'
sed='sed'
seedfunc='srand'
selectminbits='32'
selecttype='fd_set *'
sendmail='blat'
setgrent_r_proto='0'
sethostent_r_proto='0'
setlocale_r_proto='0'
setnetent_r_proto='0'
setprotoent_r_proto='0'
setpwent_r_proto='0'
setservent_r_proto='0'
sh='cmd /x /c'
shar=''
sharpbang='#!'
shmattype='void *'
shortsize='2'
shrpenv=''
shsharp='true'
sig_count='26'
sig_name='ZERO NUM01 INT QUIT ILL NUM05 NUM06 NUM07 FPE KILL NUM10 SEGV NUM12 PIPE ALRM TERM NUM16 NUM17 NUM18 NUM19 CHLD BREAK ABRT STOP NUM24 CONT CLD'
sig_name_init='"ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0'
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20 0'
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
sig_size='27'
signal_t='void'
sitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
sitebin='~INST_TOP~\site~INST_VER~\bin~INST_ARCH~'
sitebinexp='~INST_TOP~\site~INST_VER~\bin~INST_ARCH~'
sitelib='~INST_TOP~\site~INST_VER~\lib'
sitelib_stem=''
sitelibexp='~INST_TOP~\site~INST_VER~\lib'
siteprefix='~INST_TOP~\site~INST_VER~'
siteprefixexp='~INST_TOP~\site~INST_VER~'
sizesize='4'
sizetype='size_t'
sleep=''
smail=''
small=''
so='dll'
sockethdr=''
socketlib=''
socksizetype='int'
sort='sort'
spackage='Perl5'
spitshell=''
split=''
srand48_r_proto='0'
srandom_r_proto='0'
src=''
ssizetype='int'
startperl='#!perl'
startsh='#!/bin/sh'
static_ext='DynaLoader'
stdchar='char'
stdio_base='((fp)->_base)'
stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
stdio_cnt='((fp)->_cnt)'
stdio_filbuf=''
stdio_ptr='((fp)->_ptr)'
stdio_stream_array=''
strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion='~SUBVERSION~'
sysman='/usr/man/man1'
tail=''
tar=''
tbl=''
tee=''
test=''
timeincl='/usr/include/sys/time.h '
timetype='time_t'
tmpnam_r_proto='0'
touch='touch'
tr=''
trnl='\012'
troff=''
ttyname_r_proto='0'
u16size='2'
u16type='unsigned short'
u32size='4'
u32type='unsigned long'
u64size='8'
u64type='unsigned __int64'
u8size='1'
u8type='unsigned char'
uidformat='"ld"'
uidsign='-1'
uidsize='4'
uidtype='uid_t'
uname='uname'
uniq='uniq'
uquadtype='unsigned __int64'
use5005threads='undef'
use64bitall='undef'
use64bitint='undef'
usedl='define'
use5005threads='undef'
usecrosscompile='undef'
usefaststdio='define'
useithreads='define'
uselargefiles='undef'
uselongdouble='undef'
usemallocwrap='undef'
usemorebits='undef'
usemultiplicity='define'
usemymalloc='n'
usenm='false'
useopcode='true'
useperlio='undef'
useposix='true'
usereentrant='undef'
userelocatableinc='undef'
usesfio='false'
useshrplib='yes'
usesitecustomize='undef'
usesocks='undef'
usethreads='undef'
usevendorprefix='undef'
usevfork='true'
usrinc='/usr/include'
uuname=''
uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
vendorarch=''
vendorarchexp=''
vendorbin=''
vendorbinexp=''
vendorlib=''
vendorlib_stem=''
vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
version='~VERSION~'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
zcat=''
zip='zip'
PERL_REVISION='~PERL_REVISION~'
PERL_SUBVERSION='~PERL_SUBVERSION~'
PERL_VERSION='~PERL_VERSION~'
PERL_API_REVISION='~PERL_API_REVISION~'
PERL_API_SUBVERSION='~PERL_API_SUBVERSION~'
PERL_API_VERSION='~PERL_API_VERSION~'
PATCHLEVEL='~PERL_VERSION~'
SUBVERSION='~PERL_SUBVERSION~'
base_import=''
nlm_version=''
mpktool=''
toolpath=''

--- NEW FILE: intdef.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwplglob.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: Nwpipe.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: config_sh.PL ---
# take a semicolon separated path list and turn it into a quoted
# list of paths that Text::Parsewords will grok
sub mungepath {
    my $p = shift;
    # remove leading/trailing semis/spaces
    $p =~ s/^[ ;]+//;
    $p =~ s/[ ;]+$//;
    $p =~ s/'/"/g;
    my @p = map { $_ = "\"$_\"" if /\s/ and !/^".*"$/; $_ } split /;/, $p;
    return join(' ', @p);
}

# generate an array of option strings from command-line args
# or an option file
#    -- added by BKS, 10-17-1999 to fix command-line overflow problems
sub loadopts {
    if ($ARGV[0] =~ /--cfgsh-option-file/) {
	shift @ARGV;
	my $optfile = shift @ARGV;
	local (*F);
	open OPTF, $optfile or die "Can't open $optfile: $!\n";
	my @opts;
	chomp(my $line = <OPTF>);
	my @vars = split(/\t+~\t+/, $line);
	for (@vars) {
	    push(@opts, $_) unless (/^\s*$/);
	}
	close OPTF;
	return \@opts;
    }
    else {
	return \@ARGV;
    }
}

my %opt;
my $optref = loadopts();
while (@{$optref} && $optref->[0] =~ /^([\w_]+)=(.*)$/) {
    $opt{$1}=$2;
    shift(@{$optref});
}

my $pl_h = '../patchlevel.h';

if (-e $pl_h) {
    open PL, "<$pl_h" or die "Can't open $pl_h: $!";
    while (<PL>) {
	if (/^#\s*define\s+(PERL_\w+)\s+([\d.]+)/) {
	    $opt{$1} = $2;
	}
    }
    close PL;
}
else {
    die "Can't find $pl_h: $!";
}
$opt{VERSION} = "$opt{PERL_REVISION}.$opt{PERL_VERSION}.$opt{PERL_SUBVERSION}";
$opt{INST_VER} =~ s|~VERSION~|$opt{VERSION}|g;

$opt{'cf_by'} = $ENV{USERNAME} unless $opt{'cf_by'};
$opt{'cf_email'} = $opt{'cf_by'} . '@' . (gethostbyname('localhost'))[0]
	unless $opt{'cf_email'};
$opt{'usemymalloc'} = 'y' if $opt{'d_mymalloc'} eq 'define';

$opt{libpth} = mungepath($opt{libpth}) if exists $opt{libpth};
$opt{incpath} = mungepath($opt{incpath}) if exists $opt{incpath};

while (<>) {
    s/~([\w_]+)~/$opt{$1}/g;
    if (/^([\w_]+)=(.*)$/) {
	my($k,$v) = ($1,$2);
	# this depends on cf_time being empty in the template (or we'll
	# get a loop)
	if ($k eq 'cf_time') {
	    $_ = "$k='" . localtime(time) . "'\n" if $v =~ /^\s*'\s*'/;
	}
	elsif (exists $opt{$k}) {
	    $_ = "$k='$opt{$k}'\n";
	}
    }
    print;
}


--- NEW FILE: interface.cpp ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwplglob.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: NWUtil.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: sv_nw.c ---
#include <EXTERN.h>
#define PERL_IN_SV_C
#include <perl.h>
#include <regcomp.h>

#define FCALL *f
#define SV_CHECK_THINKFIRST(sv) if (SvTHINKFIRST(sv)) sv_force_normal(sv)



void
Perl_sv_catsv(pTHX_ SV *dstr, register SV *sstr)
{
    sv_catsv_flags(dstr, sstr, SV_GMAGIC);
}

void
Perl_sv_catpvn(pTHX_ SV *dsv, const char* sstr, STRLEN slen)
{
    
    sv_catpvn_flags(dsv, sstr, slen, SV_GMAGIC);
}

void
Perl_sv_setsv(pTHX_ SV *dstr, register SV *sstr)
{
    sv_setsv_flags(dstr, sstr, SV_GMAGIC);
}

char *
Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
{
    return sv_2pv_flags(sv, lp, SV_GMAGIC);
}


--- NEW FILE: nw5.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: config_h.PL ---
#
use Config;
use File::Compare qw(compare);
use File::Copy qw(copy);
my $name = $0;
$name =~ s#^(.*)\.PL$#../$1.SH#;
my %opt;
while (@ARGV && $ARGV[0] =~ /^([\w_]+)=(.*)$/)
 {
  $opt{$1}=$2;
  shift(@ARGV);
 }
 
 $opt{CONFIG_H} ||= 'config.h';
 
my $patchlevel = $opt{INST_VER};
$patchlevel =~ s|^[\\/]||;
$patchlevel =~ s|~VERSION~|$Config{version}|g;
$patchlevel ||= $Config{version};
$patchlevel = qq["$patchlevel"];

open(SH,"<$name") || die "Cannot open $name:$!";
while (<SH>)
 {
  last if /^sed/;
 }
($term,$file,$pat) = /^sed\s+<<(\S+)\s+>(\S+)\s+(.*)$/;
$file =~ s/^\$(\w+)$/$opt{$1}/g;

my $str = "sub munge\n{\n";

while ($pat =~ s/-e\s+'([^']*)'\s*//)
 {
  my $e = $1;
  $e =~ s/\\([\(\)])/$1/g;
  $e =~ s/\\(\d)/\$$1/g; 
  $str .= "$e;\n";
 }
$str .= "}\n";

eval $str;

die "$str:$@" if $@;

open(H,">$file.new") || die "Cannot open $file.new:$!";
binmode H;		# no CRs (which cause a spurious rebuild)
while (<SH>)
 {
  last if /^$term$/o;
  s/\$([\w_]+)/Config($1)/eg;
  s/`([^\`]*)`/BackTick($1)/eg;
  munge();
  s/\\\$/\$/g;
  s#/[ *\*]*\*/#/**/#;
  if (/^\s*#define\s+(SITELIB|VENDORLIB)_EXP/)
   {
     $_ = "#define ". $1 . "_EXP (nw_get_". lc($1) . "($patchlevel))\t/**/\n";
   }
  # Added for NetWare and removed PRIVLIB from the above, the same thing might have
  # to be done for other as well
  elsif (/^\s*#define\s+(PRIVLIB)_EXP/)
   {
     $_ = "#define ". $1 . "_EXP (fnNwGetEnvironmentStr(\"PRIVLIB\", PRIVLIB))\t/**/\n";
   }
  # incpush() handles archlibs, so disable them
  elsif (/^\s*#define\s+(ARCHLIB|SITEARCH|VENDORARCH)_EXP/)
   {
     $_ = "/*#define ". $1 . "_EXP \"\"\t/**/\n";
   }
  print H;
 }
close(H);
close(SH);


chmod(0666,"../lib/CORE/config.h");
copy("$file.new","../lib/CORE/config.h") || die "Cannot copy:$!";
chmod(0444,"../lib/CORE/config.h");

if (compare("$file.new",$file))
 {
  warn "$file has changed\n";
  chmod(0666,$file);
  unlink($file);
  rename("$file.new",$file);
  #chmod(0444,$file);
  exit(1);
 }
else
 {
  unlink ("$file.new");
  exit(0);
 }

sub Config
{
 my $var = shift;
 my $val = $Config{$var};
 $val = 'undef' unless defined $val;
 $val =~ s/\\/\\\\/g;
 return $val;
}

sub BackTick
{
 my $cmd = shift;
 if ($cmd =~ /^echo\s+(.*?)\s*\|\s+sed\s+'(.*)'\s*$/)
  {
   local ($data,$pat) = ($1,$2);
   $data =~ s/\s+/ /g;
   eval "\$data =~ $pat";
   return $data;
  }
 else
  {
   die "Cannot handle \`$cmd\`";
  }
 return $cmd;
}

--- NEW FILE: Main.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: splittree.pl ---
use DirHandle;
use AutoSplit;

sub splitthis {
my ($top,$base,$dest) = @_;
my $d = new DirHandle $base;
if (defined $d) {
	while (defined($_ = $d->read)) {
		next if $_ eq ".";
		next if $_ eq "..";
		my $entry = "$base\\$_";
		my $entrywithouttop = $entry;
		$entrywithouttop =~ s/^$top//;
		if (-d $entry) {splitthis ($top,$entry,$dest);}
		else { 
			next unless ($entry=~/pm$/i);
			#print "Will run autosplit on $entry to $dest\n";
			autosplit($entry,$dest,0,1,1);
			};
		};
	};
}

splitthis $ARGV[0],$ARGV[0],$ARGV[1];

--- NEW FILE: nwperlsys.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nwhashcls.cpp ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: nw5sck.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: Nwmain.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: interface.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: MP.imp ---
# MPK Symbols not defined in the sdk import files
# Created by: Guruprasad on 25th May 2000
kSemaphoreTimedWait,
kEnterNetWare,
kDelayThread

--- NEW FILE: nw5sck.h ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: interface.c ---
(This appears to be a binary file; contents omitted.)




More information about the dslinux-commit mailing list