VPRIVATE Vrc_Codes BEMparm_parseTREE_ORDER(BEMparm *thee, Vio *sock) { char tok[VMAX_BUFSIZE]; int ti; VJMPERR1(Vio_scanf(sock, "%s", tok) == 1); if (sscanf(tok, "%d", &ti) == 0) { Vnm_print(2, "NOsh: Read non-integer (%s) while parsing TREE_ORDER \ keyword!\n", tok); return VRC_WARNING; } else if (ti <= 0) {
VPRIVATE Vrc_Codes FEMparm_parseDOMAINLENGTH(FEMparm *thee, Vio *sock) { int i; double tf; char tok[VMAX_BUFSIZE]; for (i=0; i<3; i++) { VJMPERR1(Vio_scanf(sock, "%s", tok) == 1); if (sscanf(tok, "%lf", &tf) == 0) { Vnm_print(2, "parseFE: Read non-double (%s) while parsing \ DOMAINLENGTH keyword!\n", tok); return VRC_FAILURE; } thee->glen[i] = tf; }
/* * *************************************************************************** * Routine: viodbl * * Purpose: Double READ/WRITE. * * Author: Michael Holst * *************************************************************************** */ VPUBLIC void viodbl(int *socknum, double *dval, int *len) { Vio *sock = &theVio[*socknum]; int i; VASSERT( (0 <= *socknum) && (*socknum < MAXVIO) ); if ( sock->rwkey == VIO_R ) { for (i=0; i<*len; i++) Vio_scanf(sock,"%le",&(dval[i])); } else if ( sock->rwkey == VIO_W ) { for (i=0; i<*len; i++) Vio_printf(sock,"%le ",dval[i]); Vio_printf(sock,"\n"); } }
/* * *************************************************************************** * Routine: vioflt * * Purpose: Float READ/WRITE. * * Author: Michael Holst * *************************************************************************** */ VPUBLIC void vioflt(int *socknum, float *fval, int *len) { Vio *sock = &theVio[*socknum]; int i; VASSERT( (0 <= *socknum) && (*socknum < MAXVIO) ); if ( sock->rwkey == VIO_R ) { for (i=0; i<*len; i++) Vio_scanf(sock,"%e",&(fval[i])); } else if ( sock->rwkey == VIO_W ) { for (i=0; i<*len; i++) Vio_printf(sock,"%e ",fval[i]); Vio_printf(sock,"\n"); } }
/* * *************************************************************************** * Routine: viostr * * Purpose: String READ/WRITE. * * Author: Michael Holst * *************************************************************************** */ VPUBLIC void viostr(int *socknum, char *sval, int *len) { Vio *sock = &theVio[*socknum]; int i; char buf[VMAX_BUFSIZE]; VASSERT( (0 <= *socknum) && (*socknum < MAXVIO) ); if ( sock->rwkey == VIO_R ) { Vio_scanf(sock,"%s",buf); VASSERT( (int)strlen(buf) == *len ); for (i=0; i<*len; i++) sval[i] = buf[i]; } else if ( sock->rwkey == VIO_W ) { for (i=0; i<*len; i++) buf[i] = sval[i]; buf[*len] = '\0'; Vio_printf(sock,"%s\n",buf); } }