Add LibNode 2.2 support: Use ND_VA_* macros in manager.
This commit is contained in:
171
demo/nddemo0.c
171
demo/nddemo0.c
@@ -1,9 +1,9 @@
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
/* $RCSfile: nddemo0.c,v $ */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
/* $Revision: 2.8 $ */
|
||||
/* $Revision: 2.9 $ */
|
||||
/* $Name: $ */
|
||||
/* $Date: 2004/08/23 22:48:37 $ */
|
||||
/* $Date: 2010/06/06 21:27:12 $ */
|
||||
/* $Author: agibert $ */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
||||
@@ -64,7 +64,7 @@ typedef struct Demo_Value
|
||||
/* Prototypes */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
||||
NDT_Status Demo_DS_Manager( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list);
|
||||
NDT_Status Demo_DS_Manager( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
||||
void DataStruct_Load( NDT_Root *, FILE *);
|
||||
void DataStruct_Load( NDT_Root *, FILE *);
|
||||
void Demo( char *, short);
|
||||
@@ -80,7 +80,7 @@ int main( int, char **);
|
||||
/* */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
||||
NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr, NDT_Command Command, va_list Args)
|
||||
NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr, NDT_Command Command, va_list *Args_Ptr)
|
||||
{
|
||||
NDT_Command_Name Command_Name;
|
||||
|
||||
@@ -89,12 +89,12 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
{
|
||||
case NDD_CMD_MANAGER_VERSION:
|
||||
{
|
||||
NDT_Version_Name *Version_Name_Ptr = (NDT_Version_Name *)va_arg( Args, NDT_Version_Name *);
|
||||
ND_VA_ARG_GET( Version_Name_Ptr, *Args_Ptr, NDT_Version_Name *);
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_MANAGER_VERSION";
|
||||
|
||||
*Version_Name_Ptr = "$Revision: 2.8 $ $Name: $ $Date: 2004/08/23 22:48:37 $ $Author: agibert $";
|
||||
*Version_Name_Ptr = "$Revision: 2.9 $ $Name: $ $Date: 2010/06/06 21:27:12 $ $Author: agibert $";
|
||||
|
||||
return( NDS_OK);
|
||||
}
|
||||
@@ -102,15 +102,15 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
case NDD_CMD_INDEX_GET:
|
||||
{
|
||||
/*
|
||||
NDT_Index_Id *Reply_Index_Id_Ptr = (NDT_Index_Id *)va_arg( Args, NDT_Index_Id *);
|
||||
NDT_Command *Reply_Command_Ptr = (NDT_Command *)va_arg( Args, NDT_Command *);
|
||||
NDT_Command Cmd = (NDT_Command)va_arg( Args, NDT_Command);
|
||||
void *Value_ptr = (void *)va_arg( Args, void *);
|
||||
ND_VA_ARG_GET( Reply_Index_Id_Ptr, *Args_Ptr, NDT_Index_Id *);
|
||||
ND_VA_ARG_GET( Reply_Command_Ptr, *Args_Ptr, NDT_Command *);
|
||||
ND_VA_ARG_GET( Cmd, *Args_Ptr, NDT_Command);
|
||||
ND_VA_ARG_GET( Value_Ptr, *Args_Ptr, void *);
|
||||
*/
|
||||
NDT_Index_Id *Reply_Index_Id_Ptr = (NDT_Index_Id *)va_arg( Args, NDT_Index_Id *);
|
||||
NDT_Command *Reply_Command_Ptr = (NDT_Command *)va_arg( Args, NDT_Command *);
|
||||
NDT_Command Cmd = (NDT_Command)va_arg( Args, NDT_Command);
|
||||
Demo_Value *Value_ptr = (Demo_Value *)va_arg( Args, Demo_Value *);
|
||||
ND_VA_ARG_GET( Reply_Index_Id_Ptr, *Args_Ptr, NDT_Index_Id *);
|
||||
ND_VA_ARG_GET( Reply_Command_Ptr, *Args_Ptr, NDT_Command *);
|
||||
ND_VA_ARG_GET( Cmd, *Args_Ptr, NDT_Command);
|
||||
ND_VA_ARG_GET( Value_Ptr, *Args_Ptr, Demo_Value *);
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_INDEX_GET";
|
||||
@@ -159,12 +159,15 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
case NDD_CMD_VALUE_ALLOC:
|
||||
{
|
||||
/*
|
||||
void **Value_Ptr_Ptr = (void **)va_arg( Args, void **);
|
||||
va_list user_args = (va_list)va_arg( Args, va_list);
|
||||
user_type user_data = (user_type)va_arg( user_args, user_type);
|
||||
... = (...)va_arg( user_args, ...);
|
||||
ND_VA_ARG_GET( Value_Ptr_Ptr, *Args_Ptr, void **);
|
||||
|
||||
ND_VA_LIST_OPEN( user_args, *Args_Ptr);
|
||||
ND_VA_ARG_GET( user_data, user_args, user_type);
|
||||
ND_VA_ARG_GET( ..., user_args, ...);
|
||||
|
||||
ND_VA_LIST_CLOSE( user_args);
|
||||
*/
|
||||
Demo_Value **Value_Ptr_Ptr = va_arg( Args, Demo_Value **);
|
||||
ND_VA_ARG_GET( Value_Ptr_Ptr, *Args_Ptr, Demo_Value **);
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_VALUE_ALLOC";
|
||||
@@ -187,12 +190,15 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
case NDD_CMD_VALUE_FREE:
|
||||
{
|
||||
/*
|
||||
void *Value_Ptr = (void *)va_arg( Args, void *);
|
||||
va_list user_args = (va_list)va_arg( Args, va_list);
|
||||
user_type user_data = (user_type)va_arg( user_args, user_type);
|
||||
... = (...)va_arg( user_args, ...);
|
||||
ND_VA_ARG_GET( Value_Ptr, *Args_Ptr, void *);
|
||||
|
||||
ND_VA_LIST_OPEN( user_args, *Args_Ptr);
|
||||
ND_VA_ARG_GET( user_data, user_args, user_type);
|
||||
ND_VA_ARG_GET( ..., user_args, ...);
|
||||
|
||||
ND_VA_LIST_CLOSE( user_args);
|
||||
*/
|
||||
Demo_Value *Value_Ptr = (Demo_Value *)va_arg( Args, Demo_Value *);
|
||||
ND_VA_ARG_GET( Value_Ptr, *Args_Ptr, Demo_Value *);
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_VALUE_FREE";
|
||||
@@ -205,14 +211,17 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
case NDD_CMD_VALUE_COMP:
|
||||
{
|
||||
/*
|
||||
void *Value1_Ptr = (void *)va_arg( Args, void *);
|
||||
void *Value2_Ptr = (void *)va_arg( Args, void *);
|
||||
va_list user_args = (va_list)va_arg( Args, va_list);
|
||||
user_type user_data = (user_type)va_arg( user_args, user_type);
|
||||
... = (...)va_arg( user_args, ...);
|
||||
ND_VA_ARG_GET( Value1_Ptr, *Args_Ptr, void *);
|
||||
ND_VA_ARG_GET( Value2_Ptr, *Args_Ptr, void *);
|
||||
|
||||
ND_VA_LIST_OPEN( user_args, *Args_Ptr);
|
||||
ND_VA_ARG_GET( user_data, user_args, user_type);
|
||||
ND_VA_ARG_GET( ..., user_args, ...);
|
||||
|
||||
ND_VA_LIST_CLOSE( user_args);
|
||||
*/
|
||||
Demo_Value *Value1_Ptr = va_arg( Args, Demo_Value *);
|
||||
Demo_Value *Value2_Ptr = va_arg( Args, Demo_Value *);
|
||||
ND_VA_ARG_GET( Value1_Ptr, *Args_Ptr, Demo_Value *);
|
||||
ND_VA_ARG_GET( Value2_Ptr, *Args_Ptr, Demo_Value *);
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_VALUE_COMP";
|
||||
@@ -302,12 +311,17 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
case NDD_CMD_VALUE_ADD:
|
||||
{
|
||||
/*
|
||||
void *Value_Ptr = (void *)va_arg( Args, void *);
|
||||
va_list user_args = (va_list)va_arg( Args, va_list);
|
||||
user_type user_data = (user_type)va_arg( user_args, user_type);
|
||||
... = (...)va_arg( user_args, ...);
|
||||
ND_VA_ARG_GET( Value_Ptr, *Args_Ptr, void *);
|
||||
|
||||
ND_VA_LIST_OPEN( user_args, *Args_Ptr);
|
||||
|
||||
ND_VA_ARG_GET( user_data, user_args, user_type);
|
||||
ND_VA_ARG_GET( ..., user_args, ...);
|
||||
|
||||
ND_VA_LIST_CLOSE( user_args);
|
||||
*/
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_VALUE_ADD";
|
||||
|
||||
return( NDS_OK);
|
||||
@@ -316,38 +330,56 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
case NDD_CMD_VALUE_REMOVE:
|
||||
{
|
||||
/*
|
||||
void *Value_Ptr = (void *)va_arg( Args, void *);
|
||||
va_list user_args = (va_list)va_arg( Args, va_list);
|
||||
user_type user_data = (user_type)va_arg( user_args, user_type);
|
||||
... = (...)va_arg( user_args, ...);
|
||||
ND_VA_ARG_GET( Value_Ptr, *Args_Ptr, void *);
|
||||
|
||||
ND_VA_LIST_OPEN( user_args, *Args_Ptr);
|
||||
|
||||
ND_VA_ARG_GET( user_data, user_args, user_type);
|
||||
ND_VA_ARG_GET( ..., user_args, ...);
|
||||
|
||||
ND_VA_LIST_CLOSE( user_args);
|
||||
*/
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_VALUE_REMOVE";
|
||||
|
||||
return( NDS_OK);
|
||||
}
|
||||
|
||||
|
||||
case NDD_CMD_VALUE_PRINT:
|
||||
{
|
||||
/*
|
||||
NDT_Node *Next_Node_Ptr = (NDT_Node *)va_arg( Args, NDT_Node *);
|
||||
va_list lib_args = (va_list)va_arg( Args, va_list);
|
||||
FILE *Out = (FILE *)va_arg( lib_args, FILE *);
|
||||
NDT_Recursive_Mode Recursive_Mode = (NDT_Recursive_Mode)va_arg( lib_args, NDT_Recursive_Mode);
|
||||
NDT_Recursive_Depth Recursive_Depth = (NDT_Recursive_Depth)va_arg( lib_args, NDT_Recursive_Depth);
|
||||
va_list user_args = (va_list)va_arg( lib_args, va_list);
|
||||
user_type user_data = (user_type)va_arg( user_args, user_type);
|
||||
... = (...)va_arg( user_args, ...);
|
||||
/*
|
||||
ND_VA_ARG_GET( Next_Node_Ptr, *Args_Ptr, NDT_Node *);
|
||||
|
||||
void *Value_Ptr = Node_Ptr->Value;
|
||||
*/
|
||||
NDT_Node *Next_Node_Ptr = (NDT_Node *)va_arg( Args, NDT_Node *);
|
||||
va_list lib_args = (va_list)va_arg( Args, va_list);
|
||||
FILE *Out = (FILE *)va_arg( lib_args, FILE *);
|
||||
NDT_Recursive_Mode Recursive_Mode = (NDT_Recursive_Mode)va_arg( lib_args, NDT_Recursive_Mode);
|
||||
NDT_Recursive_Depth Recursive_Depth = (NDT_Recursive_Depth)va_arg( lib_args, NDT_Recursive_Depth);
|
||||
ND_VA_LIST_OPEN( lib_args, *Args_Ptr);
|
||||
|
||||
Demo_Value *Value_Ptr = Node_Ptr->Value;
|
||||
ND_VA_ARG_GET( Out, lib_args, FILE *);
|
||||
ND_VA_ARG_GET( Recursive_Mode, lib_args, NDT_Recursive_Mode);
|
||||
ND_VA_ARG_GET( Recursive_Depth, lib_args, NDT_Recursive_Depth);
|
||||
ND_VA_ARG_GET( Recursive_Offset, lib_args, NDT_Recursive_Offset);
|
||||
|
||||
ND_VA_LIST_OPEN( user_args, lib_args);
|
||||
|
||||
ND_VA_ARG_GET( user_data, user_args, user_type);
|
||||
ND_VA_ARG_GET( ..., user_args, ...);
|
||||
|
||||
ND_VA_LIST_CLOSE( user_args);
|
||||
ND_VA_LIST_CLOSE( lib_args);
|
||||
*/
|
||||
ND_VA_ARG_GET( Next_Node_Ptr, *Args_Ptr, NDT_Node *);
|
||||
|
||||
ND_VA_LIST_OPEN( lib_args, *Args_Ptr);
|
||||
|
||||
ND_VA_ARG_GET( Out, lib_args, FILE *);
|
||||
ND_VA_ARG_GET( Recursive_Mode, lib_args, NDT_Recursive_Mode);
|
||||
ND_VA_ARG_GET( Recursive_Depth, lib_args, NDT_Recursive_Depth);
|
||||
ND_VA_ARG_GET( Recursive_Offset, lib_args, NDT_Recursive_Offset);
|
||||
|
||||
ND_VA_LIST_CLOSE( lib_args);
|
||||
|
||||
|
||||
Demo_Value *Value_Ptr = Node_Ptr->Value;
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_VALUE_PRINT";
|
||||
@@ -361,18 +393,25 @@ NDT_Status Demo_DS_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_No
|
||||
case NDD_CMD_INFO_PRINT:
|
||||
{
|
||||
/*
|
||||
NDT_Node *Next_Node_Ptr = (NDT_Node *)va_arg( Args, NDT_Node *);
|
||||
va_list lib_args = (va_list)va_arg( Args, va_list);
|
||||
FILE *Out = (FILE *)va_arg( lib_args, FILE *);
|
||||
NDT_Recursive_Mode Recursive_Mode = (NDT_Recursive_Mode)va_arg( lib_args, NDT_Recursive_Mode);
|
||||
NDT_Recursive_Depth Recursive_Depth = (NDT_Recursive_Depth)va_arg( lib_args, NDT_Recursive_Depth);
|
||||
va_list user_args = (va_list)va_arg( lib_args, va_list);
|
||||
user_type user_data = (user_type)va_arg( user_args, user_type);
|
||||
... = (...)va_arg( user_args, ...);
|
||||
ND_VA_ARG_GET( Next_Node_Ptr, *Args_Ptr, NDT_Node *);
|
||||
|
||||
void *Value_Ptr = Node_Ptr->Value;
|
||||
ND_VA_LIST_OPEN( lib_args, *Args_Ptr);
|
||||
|
||||
ND_VA_ARG_GET( Out, lib_args, FILE *);
|
||||
ND_VA_ARG_GET( Recursive_Mode, lib_args, NDT_Recursive_Mode);
|
||||
ND_VA_ARG_GET( Recursive_Depth, lib_args, NDT_Recursive_Depth);
|
||||
ND_VA_ARG_GET( Recursive_Offset, lib_args, NDT_Recursive_Offset);
|
||||
|
||||
ND_VA_LIST_OPEN( user_args, lib_args);
|
||||
|
||||
ND_VA_ARG_GET( user_data, user_args, user_type);
|
||||
ND_VA_ARG_GET( ..., user_args, ...);
|
||||
|
||||
ND_VA_LIST_CLOSE( user_args);
|
||||
ND_VA_LIST_CLOSE( lib_args);
|
||||
*/
|
||||
|
||||
|
||||
Command_Name = "NDD_CMD_INFO_PRINT";
|
||||
|
||||
return( NDS_OK);
|
||||
@@ -409,7 +448,7 @@ void DataStruct_Load( NDT_Root *ds_ptr, FILE *demo_file)
|
||||
while( !feof( demo_file))
|
||||
{
|
||||
str = fgets( input_string, STRING_SIZE, demo_file);
|
||||
if( ( (const int)str != EOF) && ( str != NULL))
|
||||
if( str != NULL)
|
||||
{
|
||||
if( strlen( input_string) >= STRING_LEN)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user