da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/***********************************************************************
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* This software is part of the ast package *
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner* Copyright (c) 1982-2010 AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* and is licensed under the *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Common Public License, Version 1.0 *
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin* by AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* A copy of the License is available at *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Information and Software Systems Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* AT&T Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Florham Park NJ *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* David Korn <dgk@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin***********************************************************************/
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * exec [arg...]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * eval [arg...]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * jobs [-lnp] [job...]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * login [arg...]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * let expr...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * . file [arg...]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * :, true, false
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * vpath [top] [base]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * vmap [top] [base]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * wait [job...]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * shift [n]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * David Korn
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * AT&T Labs
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define DOTMAX MAXDEPTH /* maximum level of . nesting */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin register int n;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(2);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(0);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(1);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* JOBS */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* force bad exec to terminate shell */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(1);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin register int r;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(r);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin register int r;
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin register Shell_t *shp = ((Shbltin_t*)extra)->shp;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(2);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin register Shell_t *shp = ((Shbltin_t*)extra)->shp;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(2);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* check for KornShell style function first */
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin filename = path_fullname(stkptr(shp->stk,PATH_OFFSET));
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin shp->st.lineno = np?((struct functnod*)nv_funtree(np))->functline:1;
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin shp->st.var_local = shp->st.save_tree = shp->var_tree;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin nv_putval(SH_PATHNAMENOD, shp->st.filename ,NV_NOFREE);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh_exec((Shnode_t*)(nv_funtree(np)),sh_isstate(SH_ERREXIT));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* only restore the top Shscope_t portion for posix functions */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memcpy((void*)&shp->st, (void*)prevscope, sizeof(Shscope_t));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin nv_putval(SH_PATHNAMENOD, shp->st.filename ,NV_NOFREE);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * null, true command
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(0);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * false command
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinint b_false(int argc,register char *argv[], void *extra)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(1);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinint b_shift(register int n, register char *argv[], void *extra)
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin register Shell_t *shp = ((Shbltin_t*)extra)->shp;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(2);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(0);
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin register Shell_t *shp = ((Shbltin_t*)extra)->shp;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* for the dictionary generator */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinint b_bg(register int n,register char *argv[],void *extra)
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin register Shell_t *shp = ((Shbltin_t*)extra)->shp;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(1);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin argv = (char**)0;
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin register Shell_t *shp = ((Shbltin_t*)extra)->shp;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin argv = (char**)0;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * There are several universe styles that are masked by the getuniv(),
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * setuniv() calls.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin register int n;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(0);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* cmd_universe */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* for the dictionary generator */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int b_vpath(register int argc,char *argv[], void *extra)
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin register Shell_t *shp = ((Shbltin_t*)extra)->shp;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_usage(2),"%s",optusage((char*)0));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /*FALLTHROUGH*/
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(0);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_exit(1),e_cantset,flag==2?e_mapping:e_versions);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin errormsg(SH_DICT,ERROR_exit(1),e_cantget,flag==2?e_mapping:e_versions);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return(1);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif /* SHOPT_FS_3D */