******> bugfix.49 Author: Bill Ross Date: 04/16/2004 Programs: carnal Description: certain table-related operations can give "type" errors Fix: apply the following patch to amber7/src/carnal/table.c ------------------------------------------------------------------------------ *** table.c 2001/11/10 20:30:39 7.1 --- table.c 2004/04/16 22:39:35 *************** *** 191,199 **** #ifdef DBG printf("--%d %d %d\n", ptr->id_type, ptr->id_subtype, type); #endif ! if (ptr->id_type == STREAM || ptr->id_type == STATIC ! || ptr->id_type == TABLE || ptr->id_type == CRD) continue; if (ptr->id_type == type || (type == ALL) || (type == MEAS && ptr->id_subtype)) { enqueitem(ptr, 0); --- 191,207 ---- #ifdef DBG printf("--%d %d %d\n", ptr->id_type, ptr->id_subtype, type); #endif ! /* ! ** skip non-measurement types ! */ ! switch(ptr->id_type) { ! case PARM: ! case STREAM: ! case STATIC: ! case CRD: ! case TABLE: continue; + } if (ptr->id_type == type || (type == ALL) || (type == MEAS && ptr->id_subtype)) { enqueitem(ptr, 0); *************** *** 280,286 **** * vector cases */ case AXIS: ! case TABLE: printptr->p_type = idptr->id_type; printptr->p_value = (char *) idptr->idunion.work.resunion.axis.vector; --- 288,294 ---- * vector cases */ case AXIS: ! case PLANE: printptr->p_type = idptr->id_type; printptr->p_value = (char *) idptr->idunion.work.resunion.axis.vector; *************** *** 319,324 **** --- 327,334 ---- gettok(); break; default: + printf("TABLE: wrong type of item: %d (programming error)\n", + idptr->id_type); inerr("TABLE: wrong type of item",""); } if (tabptr->idunion.tab.print == NULL) { ------------------------------------------------------------------------------ Temporary workarounds: none