langops.c File Reference

#include "frontier.h"
#include "standard.h"
#include "memory.h"
#include "ops.h"
#include "strings.h"
#include "cursor.h"
#include "db.h"
#include "file.h"
#include "font.h"
#include "resources.h"
#include "lang.h"
#include "langinternal.h"
#include "langexternal.h"
#include "langsystem7.h"
#include "tableinternal.h"
#include "tablestructure.h"
#include "process.h"
#include "oplist.h"

Include dependency graph for langops.c:

Go to the source code of this file.

Data Structures

struct  tytypeinfo

Defines

#define minstackspace   0x0800

Functions

boolean langgettypestring (tyvaluetype type, bigstring bs)
tyvaluetype langgettype (tyvaluerecord val)
OSType langgettypeid (tyvaluetype type)
tyvaluetype langgetvaluetype (OSType ostypeid)
boolean langgoodbinarytype (tyvaluetype type)
boolean langheaptype (tyvaluetype type)
boolean langscalartype (tyvaluetype type)
boolean langheapallocated (tyvaluerecord *val, Handle *heaphandle)
void langgetwithvaluename (short n, bigstring bswith)
boolean langfindsymbol (const bigstring bs, hdlhashtable *htable, hdlhashnode *hnode)
boolean langgetsymbolval (const bigstring bs, tyvaluerecord *vreturned, hdlhashnode *hnode)
boolean langsetsymbolval (const bigstring bs, tyvaluerecord val)
boolean langsetsymboltableval (hdlhashtable htable, const bigstring bs, tyvaluerecord val)
boolean langsetstringval (const bigstring bsname, const bigstring bsval)
boolean langsetbinaryval (hdlhashtable htable, const bigstring bsname, Handle x)
boolean langassigntextvalue (hdlhashtable ht, bigstring bs, Handle h)
boolean langassignstringvalue (hdlhashtable ht, const bigstring bs, const bigstring bsval)
boolean langassignbooleanvalue (hdlhashtable ht, const bigstring bs, boolean flval)
boolean langassigncharvalue (hdlhashtable ht, const bigstring bs, unsigned char ch)
boolean langassignlongvalue (hdlhashtable ht, const bigstring bs, long x)
boolean langassignaddressvalue (hdlhashtable ht, const bigstring bs, const tyaddress *adr)
boolean langassignnewtablevalue (hdlhashtable ht, const bigstring bs, hdlhashtable *newtable)
boolean langsuretablevalue (hdlhashtable ht, const bigstring bs, hdlhashtable *htable)
boolean langgetvalsize (tyvaluerecord v, long *size)
boolean langgetstringlist (short id, bigstring bs)
boolean langgetmiscstring (short id, bigstring bs)
boolean langcheckstacklimit (tystackid idstack, short topstack, short maxstack)
boolean langcheckstackspace (void)
void langbadexternaloperror (short errornum, tyvaluerecord externalval)
void langarrayreferror (short stringnum, bigstring bsname, const tyvaluerecord *valarray, tyvaluerecord *valindex)
boolean langgetuserflag (short idscript, boolean fldefault)
boolean langsetuserflag (short idscript, boolean fl)
boolean langgetthisaddress (hdlhashtable *htable, bigstring bsthis)
boolean langsetthisvalue (hdlhashtable hlocaltable, hdlhashtable htable, bigstring bsname)
boolean langbuildnamelist (hdltreenode htree, hdllistrecord hlist)
boolean langfastaddresstotable (hdlhashtable hstart, bigstring bsaddress, hdlhashtable *htable)
boolean langvaltocode (tyvaluerecord *vcode, hdltreenode *hcode)
boolean langfollowifaddressvalue (tyvaluerecord *v)

Variables

boolean flstackoverflow = false
boolean flfindanyspecialsymbol = false
static tytypeinfo typeinfo [ctvaluetypes]


Define Documentation

#define minstackspace   0x0800
 

Definition at line 51 of file langops.c.

Referenced by langcheckstackspace().


Function Documentation

void langarrayreferror short  stringnum,
bigstring  bsname,
const tyvaluerecord valarray,
tyvaluerecord valindex
 

Definition at line 1013 of file langops.c.

References arrayindexerror, arraynottableerror, arraystringindexerror, bigstring, coercetostring(), emptystring, hashgettypestring(), intvaluetype, lang3paramerror(), longvaluetype, nil, pullstringvalue(), and setemptystring.

Referenced by getvalidstringindex(), langgetlistitem(), listarrayvalue(), listassignvalue(), listdeletevalue(), listerror(), parsearrayreference(), setarrayelement(), and tablearrayvalue().

Here is the call graph for this function:

boolean langassignaddressvalue hdlhashtable  ht,
const bigstring  bs,
const tyaddress adr
 

Definition at line 713 of file langops.c.

References tyvaluedata::addressvalue, addressvaluetype, tyvaluerecord::data, disposehandle(), disposevaluerecord(), enlargehandle(), hashtableassign(), initvalue(), and newheapstring().

Referenced by additemtopagetable(), buildpagetableverb(), inetdsupervisor(), webserverdispatch(), and xmlfunctionvalue().

Here is the call graph for this function:

boolean langassignbooleanvalue hdlhashtable  ht,
const bigstring  bs,
boolean  flval
 

Definition at line 671 of file langops.c.

References hashtableassign(), and setbooleanvalue().

Referenced by additemtopagetable(), claylayouttotable(), htmlrundirective(), inetdsupervisor(), initenvironment(), and neutertags().

Here is the call graph for this function:

boolean langassigncharvalue hdlhashtable  ht,
const bigstring  bs,
unsigned char  ch
 

Definition at line 685 of file langops.c.

References hashtableassign(), and setcharvalue().

Here is the call graph for this function:

boolean langassignlongvalue hdlhashtable  ht,
const bigstring  bs,
long  x
 

Definition at line 699 of file langops.c.

References hashtableassign(), and setlongvalue().

Referenced by claylayouttotable(), incrementcounter(), inetdaddtoerrorlog(), inetdsupervisor(), initenvironment(), neutertags(), webserverbuildresponse(), webservercallresponder(), webserverdispatch(), webservermaintainstats(), and webserverserver().

Here is the call graph for this function:

boolean langassignnewtablevalue hdlhashtable  ht,
const bigstring  bs,
hdlhashtable newtable
 

Definition at line 750 of file langops.c.

References disposevaluerecord(), hashtableassign(), and tablenewtablevalue().

Referenced by createtokentable(), getoptionaltableparam(), getoptionaltablereference(), langsuretablevalue(), webserverdispatch(), webserverparsecookies(), webserverreadrequest(), webserverserver(), xmladdtableverb(), and xmlcompile().

Here is the call graph for this function:

boolean langassignstringvalue hdlhashtable  ht,
const bigstring  bs,
const bigstring  bsval
 

Definition at line 642 of file langops.c.

References tyvaluerecord::data, disposehandle(), hashtableassign(), initvalue(), newtexthandle(), tyvaluedata::stringvalue, and stringvaluetype.

Referenced by assignemptytag(), buildpagetableverb(), claylayouttotable(), getnexttoken(), getstatsvisit(), inetdaddtoerrorlog(), inetdsupervisor(), initCharsetsTable(), initenvironment(), webserverbuildresponse(), webserverdispatch(), and xmlcompile().

Here is the call graph for this function:

boolean langassigntextvalue hdlhashtable  ht,
bigstring  bs,
Handle  h
 

Definition at line 620 of file langops.c.

References assert, tyvaluerecord::data, hashtableassign(), initvalue(), nil, tyvaluedata::stringvalue, and stringvaluetype.

Referenced by addHeaderToTable(), getnexttoken(), inetdsupervisor(), webserverdispatch(), webservermethodnotallowed(), webserverprocessfirstline(), and webserverreadrequest().

Here is the call graph for this function:

void langbadexternaloperror short  errornum,
tyvaluerecord  externalval
 

Definition at line 997 of file langops.c.

References bigstring, tyvaluerecord::data, tyvaluedata::externalvalue, idscriptprocessor, lang2paramerror(), langexternalgettype(), langexternaltypestring(), langgetstringlist(), useaddressoperatorstring, and useparenthesisstring.

Referenced by assignordeletevalue(), coercetolist(), coercetypes(), evaltree(), langaddfuncparams(), langaddlocals(), and langaddlocalsymbols().

Here is the call graph for this function:

boolean langbuildnamelist hdltreenode  htree,
hdllistrecord  hlist
 

Definition at line 1175 of file langops.c.

References bigstring, bracketop, dotop, htree, identifierop, langbuildnamelist(), langgetidentifier(), langlongparamerror(), langpushliststring(), and unexpectedopcodeerror.

Here is the call graph for this function:

boolean langcheckstacklimit tystackid  idstack,
short  topstack,
short  maxstack
 

Definition at line 958 of file langops.c.

References bigstring, getstringlist(), langparamerror(), langstacklist, and stackoverflowerror.

Referenced by langpusherrorcallback(), pushhashtable(), scriptpushsourcerecord(), and scriptpushtable().

Here is the call graph for this function:

boolean langcheckstackspace void   ) 
 

Definition at line 977 of file langops.c.

References flstackoverflow, minstackspace, and processstackspace().

Referenced by evaluatelist(), evaluateobject(), evaluatetree(), and filefunctionvalue().

Here is the call graph for this function:

boolean langfastaddresstotable hdlhashtable  hstart,
bigstring  bsaddress,
hdlhashtable htable
 

Definition at line 1211 of file langops.c.

References bigstring, hashtablelookup(), hnode, i, langexternalvaltotable(), langparamerror(), nosuchtableerror, and nthword().

Referenced by clayinitlinelayout(), datedayofweektostring(), datemonthtostring(), findoneprotocolhandler(), FrontierOPWndProc(), getpagetableaddressverb(), htmlbuildmacrocontext(), htmlgetdefaultpagetable(), htmlgetprefstable(), inetdsupervisor(), scriptdebugerrordebugger(), webserverbuilderrorpagefromstrings(), webserverbuildresponse(), webservercallfilters(), webservergetrespondertableaddress(), webserverlocateresponder(), webserverlocaterespondercontextbuilder(), and webservermaintainstats().

Here is the call graph for this function:

boolean langfindsymbol const bigstring  bs,
hdlhashtable htable,
hdlhashnode hnode
 

Definition at line 343 of file langops.c.

References bigstring, currenthashtable, flfindanyspecialsymbol, getaddressvalue(), h, hashtablelookup(), hashtablelookupnode(), hnode, isemptystring, langexternalvaltotable(), langgetwithvaluename(), and nil.

Referenced by assignordeletevalue(), findnamedtable(), langexternalsetsave(), langgethandlercode(), langgetsymbolval(), langsearchpathlookup(), langsetsymbolval(), and menugetmenuvariable().

Here is the call graph for this function:

boolean langfollowifaddressvalue tyvaluerecord v  ) 
 

Definition at line 1263 of file langops.c.

References addressvaluetype, bigstring, disablelangerror(), enablelangerror(), fl, getaddressvalue(), hnode, langhashtablelookup(), and v.

Referenced by findoneprotocolhandler().

Here is the call graph for this function:

boolean langgetmiscstring short  id,
bigstring  bs
 

Definition at line 952 of file langops.c.

References getstringlist(), and langmiscstringlist.

Referenced by aliastofilespec(), getcoercionstring(), gethashnodetable(), getobjectmodeldisplaystring(), hashgettypestring(), hashgetvaluestring(), langexternalgetdisplaystring(), langexternaltypestring(), langfunctionvalue(), langipcerrormessage(), scriptdebugger(), and scriptgetlevelname().

Here is the call graph for this function:

boolean langgetstringlist short  id,
bigstring  bs
 

Definition at line 946 of file langops.c.

References getstringlist(), and langinterfacelist.

Referenced by appinfovisit(), eventthreadmain(), getipcaddressvalue(), gettracebacklist(), langbadexternaloperror(), langipcerrormessage(), langtracktimeslice(), newprocess(), oneshotthreadmain(), scriptnewprocess(), and scriptupdateserverpopup().

Here is the call graph for this function:

boolean langgetsymbolval const bigstring  bs,
tyvaluerecord vreturned,
hdlhashnode hnode
 

Definition at line 483 of file langops.c.

References currenthashtable, equalstrings(), hnode, langfindsymbol(), nameroottable, nil, roottable, rootvariable, and setexternalvalue().

Referenced by getdefaultcontainer(), getidvalue(), idstringvalue(), langexternalgetinfo(), langgettarget(), langipcbuildsubroutineevent(), langsettarget(), langsymbolreference(), osaDebug(), and tablearrayvalue().

Here is the call graph for this function:

boolean langgetthisaddress hdlhashtable htable,
bigstring  bsthis
 

Definition at line 1125 of file langops.c.

References langcallbacks, nil, and tylangcallbacks::scripterrorstack.

Referenced by idvalue().

tyvaluetype langgettype tyvaluerecord  val  ) 
 

Definition at line 182 of file langops.c.

References ctvaluetypes, externalvaluetype, langexternalgettype(), novaluetype, outlinevaluetype, uninitializedvaluetype, and tyvaluerecord::valuetype.

Referenced by hashresolvevalue().

Here is the call graph for this function:

OSType langgettypeid tyvaluetype  type  ) 
 

Definition at line 200 of file langops.c.

References ctvaluetypes, novaluetype, and typeinfo.

Referenced by coercebinaryval(), coercetobinary(), coercetolist(), langaddtypeconst(), langexternalgettypeid(), langipcpushparam(), tablescraphook(), typefunc(), and valuetodescriptor().

boolean langgettypestring tyvaluetype  type,
bigstring  bs
 

Definition at line 165 of file langops.c.

References copystring(), ctvaluetypes, fl, novaluetype, and typeinfo.

Referenced by aliastostring(), getcoercionstring(), hashgettypestring(), hashstatsverb(), langcoerceerror(), langinitconsttable(), pusheventparameter(), tablekindrecalc(), updateconfigsettings(), and xmlvaltostring().

Here is the call graph for this function:

boolean langgetuserflag short  idscript,
boolean  fldefault
 

Definition at line 1059 of file langops.c.

References bigstring, coercetoboolean(), copyvaluerecord(), disablelangerror(), enablelangerror(), fl, getsystemtablescript(), hashtablelookup(), hnode, langexpandtodotparams(), nil, pophashtable(), pushhashtable(), and roottable.

Referenced by agentthreadmain(), ccinexpertmode(), inetdsupervisor(), langsetsymbolval(), processscheduler(), shellclose(), and webserverserver().

Here is the call graph for this function:

boolean langgetvalsize tyvaluerecord  v,
long size
 

Definition at line 794 of file langops.c.

References addressvaluetype, aliasvaluetype, bigstring, binaryvaluetype, booleanvaluetype, charvaluetype, codevaluetype, datevaluetype, directionvaluetype, doublevaluetype, externalvaluetype, filespectopath(), filespecvaluetype, fixedvaluetype, getaddresspath(), gethandlesize(), intvaluetype, langcounttreenodes(), langexternalgetvalsize(), langgetlistsize(), longsizeof, longvaluetype, objspecvaluetype, ostypevaluetype, passwordvaluetype, patternvaluetype, pointvaluetype, rectvaluetype, rgbvaluetype, singlevaluetype, stringlength, stringvaluetype, tokenvaluetype, and v.

Referenced by binarytoscalar(), dllcallverb(), hashgetsizestring(), initparamblock(), and sizefunc().

Here is the call graph for this function:

tyvaluetype langgetvaluetype OSType  ostypeid  ) 
 

Definition at line 209 of file langops.c.

References ctvaluetypes, novaluetype, rgbvaluetype, and typeinfo.

Referenced by coercionpossible(), filemenufunctionvalue(), langexternalgetvaluetype(), langipccoerceparam(), mrcalendargetdayaddressdive(), newvaluefunc(), opgetrefconverb(), osaCoerceFromDesc(), storagevaltodesc(), and tablegetvaluescrap().

void langgetwithvaluename short  n,
bigstring  bswith
 

Definition at line 322 of file langops.c.

References bigstring, copystring(), numbertostring(), pushchar(), pushstring(), STR_with, and stringlength.

Referenced by evaluatewith(), langfindsymbol(), langfindvalue(), and langpushwithtable().

Here is the call graph for this function:

boolean langgoodbinarytype tyvaluetype  type  ) 
 

Definition at line 230 of file langops.c.

References codevaluetype, externalvaluetype, novaluetype, olddoublevaluetype, oldstringvaluetype, outlinevaluetype, passwordvaluetype, tokenvaluetype, and unused2valuetype.

Referenced by opgetrefconverb(), storagevaltodesc(), and tablegetvaluescrap().

boolean langheapallocated tyvaluerecord val,
Handle heaphandle
 

Definition at line 301 of file langops.c.

References assert, langheaptype(), and nil.

Referenced by assignordeletearrayvalue(), coercetostring(), dbgetvalueverb(), disposetmpvalue(), dllcallverb(), exemptfromtmpstack(), initparamblock(), and pushvalueontmpstack().

Here is the call graph for this function:

boolean langheaptype tyvaluetype  type  ) 
 

Definition at line 258 of file langops.c.

References addressvaluetype, aliasvaluetype, binaryvaluetype, codevaluetype, doublevaluetype, externalvaluetype, filespecvaluetype, objspecvaluetype, outlinevaluetype, passwordvaluetype, patternvaluetype, rectvaluetype, rgbvaluetype, and stringvaluetype.

Referenced by callprocwithparams(), equaltrees(), langheapallocated(), and langscalartype().

boolean langscalartype tyvaluetype  type  ) 
 

Definition at line 295 of file langops.c.

References langheaptype().

Here is the call graph for this function:

boolean langsetbinaryval hdlhashtable  htable,
const bigstring  bsname,
Handle  x
 

Definition at line 601 of file langops.c.

References tyvaluedata::binaryvalue, binaryvaluetype, tyvaluerecord::data, disposehandle(), initvalue(), and langsetsymboltableval().

Referenced by getnthresourceverb(), getresourceverb(), getscrapverb(), langpackverb(), and langpackwindowverb().

Here is the call graph for this function:

boolean langsetstringval const bigstring  bsname,
const bigstring  bsval
 

Definition at line 578 of file langops.c.

References tyvaluerecord::data, disposehandle(), initvalue(), langsetsymbolval(), newtexthandle(), tyvaluedata::stringvalue, and stringvaluetype.

Referenced by askfunc(), getnthresinfoverb(), getnthresourceverb(), and getuserinfofunc().

Here is the call graph for this function:

boolean langsetsymboltableval hdlhashtable  htable,
const bigstring  bs,
tyvaluerecord  val
 

Definition at line 564 of file langops.c.

References fl, langsetsymbolval(), pophashtable(), and pushhashtable().

Referenced by getintfunc(), getnthrestypeverb(), langipcgetlistitem(), langsetbinaryval(), langsetbooleanvarparam(), langsetlongvarparam(), langunpackverb(), menugetscriptverb(), mrcalendargetdayaddressdive(), newvaluefunc(), opfunctionvalue(), setbinarysymbolval(), setintvarparam(), setpackedobject(), and sysfunctionvalue().

Here is the call graph for this function:

boolean langsetsymbolval const bigstring  bs,
tyvaluerecord  val
 

Definition at line 518 of file langops.c.

References hashassign(), hashtableassign(), hnode, idrequiredeclarationsscript, langfindsymbol(), langgetuserflag(), langparamerror(), nil, and unknownidentifiererror.

Referenced by assignordeletevalue(), filedialogverb(), fileloopguts(), inetdsupervisor(), langsetstringval(), langsetsymboltableval(), and setarrayelement().

Here is the call graph for this function:

boolean langsetthisvalue hdlhashtable  hlocaltable,
hdlhashtable  htable,
bigstring  bsname
 

Definition at line 1148 of file langops.c.

References exemptfromtmpstack(), hashtableassign(), setaddressvalue(), and STR_this.

Referenced by langfunctioncall().

Here is the call graph for this function:

boolean langsetuserflag short  idscript,
boolean  fl
 

Definition at line 1101 of file langops.c.

References bigstring, bsfalse, bstrue, getsystemtablescript(), langrunstringnoerror(), nil, pushchar(), pushstring(), and roottable.

Referenced by setagentsenable().

Here is the call graph for this function:

boolean langsuretablevalue hdlhashtable  ht,
const bigstring  bs,
hdlhashtable htable
 

Definition at line 774 of file langops.c.

References hashtablelookup(), hnode, langassignnewtablevalue(), and langexternalvaltotable().

Referenced by datedayofweektostring(), datemonthtostring(), getstatsvisit(), htmlfunctionvalue(), indexpage(), inetdaddtoerrorlog(), neutertags(), threadstatsverb(), webservercallresponder(), webserverdispatch(), and webserverserver().

Here is the call graph for this function:

boolean langvaltocode tyvaluerecord vcode,
hdltreenode hcode
 

Definition at line 1240 of file langops.c.

References codevaluetype, hcode, and langexternalvaltocode().

Referenced by findoneprotocolhandler().

Here is the call graph for this function:


Variable Documentation

boolean flfindanyspecialsymbol = false
 

Definition at line 56 of file langops.c.

Referenced by getdefaultcontainer(), langfindsymbol(), and langgetdotparams().

boolean flstackoverflow = false
 

Definition at line 54 of file langops.c.

Referenced by langcheckstackspace().

tytypeinfo typeinfo[ctvaluetypes] [static]
 

Definition at line 70 of file langops.c.

Referenced by langgettypeid(), langgettypestring(), and langgetvaluetype().


Generated on Sun Jun 4 14:26:17 2006 for frontierkernel 10.1.10a by  doxygen 1.4.6