/*************************************************************************
 **                 File:  doubleconverter.c                            **
 **  Yoko Izumi:  orig: 6/20/89                                         **
 **      Description:  A type converter from string to double           **
 *************************************************************************/

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <Xm/Xm.h>
#include <Xm/XmP.h>

void CvtStringToDouble (args, num_args, from, to)
XrmValue *args;
Cardinal *num_args;
XrmValue *from;
XrmValue *to;

{
  
    char *double_string;
    double *double_value;
    int index;

    if (*num_args != 0)
        XtErrorMsg("cvtStringToDouble","wrong Parameters","XtToolkitError",
            "String to double conversion takes no arguments", (String *)NULL, 
            (Cardinal *)NULL);
    
    double_string = (char*)malloc (from->size + 1);

    for (index = 0; index < from->size; index++)
      double_string [index] = (char) (from->addr [index]);
    double_string [from->size] = (char) 0;

    double_value = (double *)malloc (sizeof (double));

    sscanf(double_string, "%f", double_value);

    to->size = (unsigned int) sizeof(double);
    to->addr = (caddr_t) double_value;

}






















































