Example #1
0
uStringList *CCTK_ImplementationRequires(const char *imp)
{
    int i;
    t_sktree *impnode;
    struct IMPLEMENTATION *impdata;
    uStringList *ancestors;

    impnode = SKTreeFindNode(implist, imp);
    impdata = (struct IMPLEMENTATION *)(impnode->data);

    ancestors = Util_StringListCreate(n_thorns);

    /* Get ancestors */
    for(i=0; impdata->ancestors[i]; i++)
    {
        CCTK_ImplementationThorn(impdata->ancestors[i]);
        Util_StringListAdd(ancestors,impdata->ancestors[i]);
    }

    /* Get friends */
    for(i=0; impdata->friends[i]; i++)
    {
        CCTK_ImplementationThorn(impdata->friends[i]);
        Util_StringListAdd(ancestors,impdata->ancestors[i]);
    }

    return ancestors;
}
Example #2
0
 /*@@
   @routine    CCTKi_CommandLineDescribeParameter
   @date       Tue Apr 18 15:00:33 2000
   @author     Tom Goodale
   @desc
               Describe a particular parameter.
   @enddesc
   @calls      Util_SplitString
               CCTK_ParameterData
               CCTK_ImplementationThorn
               CommandLinePrintParameter

   @var        argument
   @vdesc      option argument
   @vtype      const char *
   @vio        in
   @endvar
@@*/
void CCTKi_CommandLineDescribeParameter (const char *argument)
{
  char *thorn, *param;
  const char *cthorn;
  const cParamData *properties;


  if (CCTK_MyProc (NULL) == 0)
  {
    Util_SplitString (&thorn, &param, argument, "::");

    if (! param)
    {
      properties = CCTK_ParameterData (argument, NULL);
    }
    else
    {
      properties = CCTK_ParameterData (param, thorn);
      if (! properties)
      {
        cthorn = CCTK_ImplementationThorn (thorn);
        properties = CCTK_ParameterData (param, cthorn);
      }

      free (thorn);
      free (param);
    }

    CommandLinePrintParameter (properties);
  }

  CCTK_Exit (NULL, 0);
}