OSF DCE Application Development Guide--Core Components

Interface Definition Language
/*
** Create a tree with a few nodes
*/
st_node_t *st_make_tree()
{
st_node_t *root = (st_node_t *)malloc(sizeof(st_node_t));
strcpy(root->name,"Root Node");
/* left subtree node */
root->left = (st_node_t *)malloc(sizeof(st_node_t));
strcpy(root->left->name,"Left subtree");
/* left subtree children */
root->left->right = NULL;
root->left->left = (st_node_t *)malloc(sizeof(st_node_t));
strcpy(root->left->left->name,"Child of left subtree");
root->left->left->left = NULL;
root->left->left->right = NULL;
/* right subtree node */
root->right = (st_node_t *)malloc(sizeof(st_node_t));
strcpy(root->right->name,"Right subtree");
root->right->left = NULL;
root->right->right = NULL;
return root;
}
main()
{
st_node_t *tree;
st_node_t *subtree;
/* setup and print original tree */
tree = st_make_tree();
printf("Original Tree:\n");
st_print_tree(tree, 1);
/* call the prune routine */
subtree = st_prune_left (tree);
/* print the resulting trees */
printf("\nPruned Tree:\n");
st_print_tree(tree, 1);
printf("\nPruned subtree:\n");
st_print_tree(subtree, 1);
}
124245 Tandem Computers Incorporated 17 55