CtCmd

 view release on metacpan or  search on metacpan

CtCmd.xs  view on Meta::CPAN

             RETVAL = 1;
#endif 
	}
  OUTPUT:
	RETVAL

int
cmdstat()
  CODE:
	RETVAL = status;
  OUTPUT:
	RETVAL

int
version()
  CODE:
	/*
	 * This method has the side effect of explicitly referencing
	 * all of the libraries that are needed at runtime. Since CtCmd.so
	 * is dynamically loaded into perl it is highly likely that the
	 * CC core libraries haven't been loaded. So a mechanism is needed
	 * to cause the linker to build in the full list of libraries
	 * that need to be loaded when CtCmd.so is loaded.
	 */
#if 0 /* Can't use since we can't use the CppPerlSharedLibRulePlusLibsVer linker macro on windows */
	TBS_VER_PRINT_VERID (CtCmd);
#endif
	TBS_VER_PRINT_VERID (libatriaadm);
	TBS_VER_PRINT_VERID (libatriaccfs);
	TBS_VER_PRINT_VERID (libatriacm);
	TBS_VER_PRINT_VERID (libatriacmd);
	TBS_VER_PRINT_VERID (libatriacmdsyn);
	TBS_VER_PRINT_VERID (libatriacredmap);
	TBS_VER_PRINT_VERID (libatriadbrpc);
	TBS_VER_PRINT_VERID (libatriaks);
	TBS_VER_PRINT_VERID (libatriamsadm);
	TBS_VER_PRINT_VERID (libatriamsinfobase);
	TBS_VER_PRINT_VERID (libatriamvfs);
	TBS_VER_PRINT_VERID (libatriasquidad);
	TBS_VER_PRINT_VERID (libatriasquidcore);
	TBS_VER_PRINT_VERID (libatriasum);
	TBS_VER_PRINT_VERID (libatriasumcmd);
#if defined(ATRIA_HAS_CMI)
	TBS_VER_PRINT_VERID (libatriacmi);
	TBS_VER_PRINT_VERID (libatriajson);
#endif
	TBS_VER_PRINT_VERID (libatriatbs);	
	TBS_VER_PRINT_VERID (libatriaview);
	TBS_VER_PRINT_VERID (libatriavob);
	TBS_VER_PRINT_VERID (libatriaxdr);
#ifndef ATRIA_WIN32_COMMON
	TBS_VER_PRINT_VERID (libatriamntrpc);
	TBS_VER_PRINT_VERID (libatriasplit);
#endif
	RETVAL = 1;
  OUTPUT:
	RETVAL

int
exec(...)
  PPCODE:
	int gimme = GIMME_V;
	int debug = 0;
	int is_object;
	HV* myhash;
	SV** out_p;
	SV** err_p;
	BLOK out;
        BLOK err;
	BLOK * blok_out_p;
	BLOK * blok_err_p;
	gen_t area =  stg_create_area ( 2048 );
#ifdef ATRIA_WIN32_COMMON
  WORD VersionRequested;
  WSADATA wsaData;
  int myerr;
#endif
        int StdOut = 1;
	int StdErr = 1;
	int i = 1;
	int offset=1;
    	const char *pkg_p = (char *)SvPV(ST(0),PL_na);
	int argc = items + 1;
	char ** argv;
	blok_init (&out);
	blok_out_p = &out;
  	blok_init (&err);
	blok_err_p = &err;
	if(sv_isobject(ST(0))){
		is_object=1;
		myhash = (HV*)SvRV(ST(0));
		out_p = hv_fetch(myhash, "debug", 5, 0);
		if(out_p == NULL ){}
		else{ debug = (int)SvIV(*out_p);}
		argc--;
		offset--;
		if(debug){
			printf("Object\t%s\n",pkg_p);
			if (sv_derived_from(ST(0), "ClearCase::CtCmd")) { 
			    printf("Derived from ClearCase::CtCmd\n"); 
			}
		}
	}



	if ( sv_isa(ST(0), "ClearCase::CtCmd") || 
	     sv_derived_from(ST(0), "ClearCase::CtCmd") ){
		out_p = hv_fetch(myhash, "outfunc", 7, 0);
		err_p = hv_fetch(myhash, "errfunc", 7, 0);
		if(out_p == NULL ){}
		else{   
		    StdOut=(int)SvIV(*out_p); 
		    if (StdOut == 0){
			blok_out_p = STANDARD;
		    }else{ 
			StdOut = 1;
		    }
 		}
		if(err_p == NULL ){}
		else{   



( run in 0.915 second using v1.01-cache-2.11-cpan-71847e10f99 )