/** @addtogroup library * The library tapset is a collection of standard functions. * @{ */ /** @addtogroup library * @code function strlen:long(s:string) @endcode * @param s string * @return Returns the length of the string. */ function strlen:long(s:string) %{ /* pure */ THIS->__retvalue=strlen(THIS->s); %} /** @addtogroup library * @code function substr:string(str:string,start:long,stop:long) @endcode * @param str string * @return Returns the length of the string. */ function substr:string(str:string,start:long,stop:long) %{ /* pure */ int len=strlen(THIS->str); if(THIS->start<0 || THIS->stop<0 || THIS->start>len || THIS->stop>len || THIS->start>=THIS->stop) { return; } else { char *s=THIS->str; strncpy(THIS->__retvalue,s+THIS->start,THIS->stop); THIS->__retvalue[THIS->stop]='\0'; } %} /** @addtogroup library * @code isinstr:long(s1:string,s2:string) @endcode * @param s1 string * @param s2 string * @return Returns 1 if s2 is in s1. */ function isinstr:long(s1:string,s2:string) %{ /* pure */ if(strstr(THIS->s1,THIS->s2)!=NULL) THIS->__retvalue = 1; else THIS->__retvalue = 0; %} /* * text_str() * * Takes a string, and any ASCII characters that are not printable are * replaced by the corresponding escape sequence in the returned * string. */ function text_str:string(input:string) %{ /* pure */ _stp_text_str(THIS->__retvalue, THIS->input, 0, 0); %} function text_strn:string(input:string, len:long, quoted:long) %{ /* pure */ _stp_text_str(THIS->__retvalue, THIS->input, THIS->len, THIS->quoted); %} /** @} */