[BACK]Return to strobj.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Diff for /OpenXM_contrib2/asir2000/builtin/strobj.c between version 1.42 and 1.44

version 1.42, 2004/03/12 02:15:23 version 1.44, 2004/03/19 01:18:54
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.41 2004/03/12 02:06:48 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.43 2004/03/15 06:44:50 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 336  int register_conv_rule(Obj arg)
Line 336  int register_conv_rule(Obj arg)
   
 int register_conv_func(Obj arg)  int register_conv_func(Obj arg)
 {  {
         if ( OID(arg) == O_P && (int)(VR((P)arg))->attr == V_SR ) {          if ( !arg ) {
                   convfunc = 0;
                   return 1;
           } else if ( OID(arg) == O_P && (int)(VR((P)arg))->attr == V_SR ) {
                 convfunc = (FUNC)(VR((P)arg)->priv);                  convfunc = (FUNC)(VR((P)arg)->priv);
                 /* f must be a function which takes single argument */                  /* f must be a function which takes single argument */
                 return 1;                  return 1;
Line 410  void Pquotetotex_env(NODE arg,Obj *rp)
Line 413  void Pquotetotex_env(NODE arg,Obj *rp)
                 *rp = (Obj)l;                  *rp = (Obj)l;
         } else if ( ac == 1 && !ARG0(arg) ) {          } else if ( ac == 1 && !ARG0(arg) ) {
                 /* set to default */                  /* set to default */
                 for ( i = 0; qtot_env[i].name; i++ )                  for ( i = 0; qtot_env[i].name; i++ ) {
                           (qtot_env[i].reg)(0);
                         qtot_env[i].value = 0;                          qtot_env[i].value = 0;
                   }
                 *rp = 0;                  *rp = 0;
         } else if ( ac == 1 || ac == 2 ) {          } else if ( ac == 1 || ac == 2 ) {
                 asir_assert(ARG0(arg),O_STR,"quotetotex_env");                  asir_assert(ARG0(arg),O_STR,"quotetotex_env");
Line 1038  void fnodetotex_tb(FNODE f,TB tb)
Line 1043  void fnodetotex_tb(FNODE f,TB tb)
                                         vname_conv = conv_rule(vname);                                          vname_conv = conv_rule(vname);
                                 } else {                                  } else {
                                         if ( dp_vars_hweyl ) {                                          if ( dp_vars_hweyl ) {
                                                 if ( i < elen2 )                                                  if ( i < elen2 ) {
                                                         strcpy(prefix,dp_vars_prefix?dp_vars_prefix:"x");                                                          strcpy(prefix,dp_vars_prefix?dp_vars_prefix:"x");
                                                 else if ( i < elen )                                                          prefix_conv = conv_rule(prefix);
                                                           vname_conv = (char *)ALLOCA(strlen(prefix_conv)+50);
                                                           sprintf(vname_conv,i<10?"%s_%d":"%s_{%d}",
                                                                   prefix_conv,i);
                                                   } else if ( i < elen ) {
                                                         strcpy(prefix,"\\partial");                                                          strcpy(prefix,"\\partial");
                                                 else                                                          prefix_conv = conv_rule(prefix);
                                                           vname_conv = (char *)ALLOCA(strlen(prefix_conv)+50);
                                                           sprintf(vname_conv,i<10?"%s_%d":"%s_{%d}",
                                                                   prefix_conv,i-elen2);
                                                   } else {
                                                         strcpy(prefix,"h");                                                          strcpy(prefix,"h");
                                         } else                                                          vname_conv = conv_rule(prefix);
                                                   }
                                           } else {
                                                 strcpy(prefix,dp_vars_prefix?dp_vars_prefix:"x");                                                  strcpy(prefix,dp_vars_prefix?dp_vars_prefix:"x");
                                         prefix_conv = conv_rule(prefix);                                                  prefix_conv = conv_rule(prefix);
                                         vname_conv = (char *)ALLOCA(strlen(prefix_conv)+50);                                                  vname_conv = (char *)ALLOCA(strlen(prefix_conv)+50);
                                         if ( i < 10 )                                                  sprintf(vname_conv,i<10?"%s_%d":"%s_{%d}",
                                                 sprintf(vname_conv,"%s_%d",prefix_conv,i);                                                          prefix_conv,i);
                                         else                                          }
                                                 sprintf(vname_conv,"%s_{%d}",prefix_conv,i);  
                                 }                                  }
                                 if ( fi->id == I_FORMULA && UNIQ(FA0(fi)) ) {                                  if ( fi->id == I_FORMULA && UNIQ(FA0(fi)) ) {
                                         len = strlen(vname_conv);                                          len = strlen(vname_conv);

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.44

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>