usr/kevin/code/develop/sim_gil_obj.c
int gil_comp_create(const char * name, int value, gil_comp_t ** po) {

  gil_comp_t * p = NULL;

  dbg_return_if(name == NULL, -1);
  dbg_return_if(po == NULL, -1);

  err_err_if((p = u_calloc(1, sizeof(gil_comp_t))) == NULL);
  err_err_if(u_string_create(name, strlen(name), &p->name));
  p->value = value;
  *po = p;

  return 0;
 err:
  gil_comp_free(p);

  return -1;
}
/*****************************************************************************
 *
 *  \brief Create and return a Gillespie component
 *
 *  \param name      the name of the component
 *  \param value     the value assoicated with it
 *  \param obj       a pointer to the object to be returned
 *
 *  \retval 0        a success
 *  \retval -1       a failure
 *
 *****************************************************************************/
\brief Create and return a Gillespie component
\param name      the name of the component
\param value     the value assoicated with it
\param obj       a pointer to the object to be returned

\retval 0        a success
\retval -1       a failure
\ brief Create and return a Gillespie component \ param name the name of the component \ param value the value assoicated with it \ param obj a pointer to the object to be returned \ retval 0 a success \ retval - 1 a failure
int gil_comp_create(const char * name, int value, gil_comp_t ** po) {
  gil_comp_t * p = NULL;
  dbg_return_if(name == NULL, -1);
  dbg_return_if(po == NULL, -1);
  err_err_if((p = u_calloc(1, sizeof(gil_comp_t))) == NULL);
  err_err_if(u_string_create(name, strlen(name), &p->name));
  p->value = value;
  *po = p;
  return 0;
 err:
  gil_comp_free(p);
  return -1;
}
int gil_comp_create ( const char * name , int value , gil_comp_t * * po ) { gil_comp_t * p = NULL ; dbg_return_if ( name == NULL , -1 ) ; dbg_return_if ( po == NULL , -1 ) ; err_err_if ( ( p = u_calloc ( 1 , sizeof ( gil_comp_t ) ) ) == NULL ) ; err_err_if ( u_string_create ( name , strlen ( name ) , & p -> name ) ) ; p -> value = value ; * po = p ; return 0 ; err : gil_comp_free ( p ) ; return -1 ; }
\brief Create and return a Gillespie component
  \param name      the name of the component
  \param value     the value assoicated with it
  \param obj       a pointer to the object to be returned
\ brief Create and return a Gillespie component \ param name the name of the component \ param value the value assoicated with it \ param obj a pointer to the object to be returned