@@ -58,12 +58,12 @@ char webpa_aut_token[4096]={'\0'};
5858static char g_interface [32 ]= {'\0' };
5959static char g_systemReadyTime [64 ]= {'\0' };
6060static char g_FirmwareVersion [64 ]= {'\0' };
61- static char g_supportedDocs [400 ] = {'\0' };
62- static char g_supportedVersion [1000 ] = {'\0' };
6361static char g_bootTime [64 ]= {'\0' };
6462static char g_productClass [64 ]= {'\0' };
6563static char g_ModelName [64 ]= {'\0' };
6664static char g_transID [64 ]= {'\0' };
65+ static char * supportedVersion_header = NULL ;
66+ static char * supportedDocs_header = NULL ;
6767multipart_t * mp = NULL ;
6868pthread_mutex_t multipart_t_mut = PTHREAD_MUTEX_INITIALIZER ;
6969static int eventFlag = 0 ;
@@ -645,12 +645,13 @@ WEBCFG_STATUS processMsgpackSubdoc(char *transaction_id)
645645 }
646646 else
647647 {
648+ set_doc_fail (1 );
648649 snprintf (result ,MAX_VALUE_LEN ,"crash_retrying:%s" , errDetails );
649650 }
650651 WebcfgDebug ("The result is %s\n" ,result );
651652 updateTmpList (subdoc_node , mp -> entries [m ].name_space , mp -> entries [m ].etag , "failed" , result , ccspStatus , 0 , 1 );
652653 addWebConfgNotifyMsg (mp -> entries [m ].name_space , mp -> entries [m ].etag , "failed" , result , trans_id ,0 ,"status" ,ccspStatus );
653- set_doc_fail ( 1 );
654+
654655 WebcfgDebug ("the retry flag value is %d\n" , get_doc_fail ());
655656 }
656657 else
@@ -1084,8 +1085,8 @@ void createCurlHeader( struct curl_slist *list, struct curl_slist **header_list,
10841085 char * schema_header = NULL ;
10851086 char * bootTime = NULL , * bootTime_header = NULL ;
10861087 char * FwVersion = NULL , * FwVersion_header = NULL ;
1087- char * supportedDocs = NULL , * supportedDocs_header = NULL ;
1088- char * supportedVersion = NULL , * supportedVersion_header = NULL ;
1088+ char * supportedDocs = NULL ;
1089+ char * supportedVersion = NULL ;
10891090 char * productClass = NULL , * productClass_header = NULL ;
10901091 char * ModelName = NULL , * ModelName_header = NULL ;
10911092 char * systemReadyTime = NULL , * systemReadyTime_header = NULL ;
@@ -1097,6 +1098,8 @@ void createCurlHeader( struct curl_slist *list, struct curl_slist **header_list,
10971098 char version [512 ]= {'\0' };
10981099 char * syncTransID = NULL ;
10991100 char * ForceSyncDoc = NULL ;
1101+ size_t supported_doc_size = 0 ;
1102+ size_t supported_version_size = 0 ;
11001103
11011104 WebcfgInfo ("Start of createCurlheader\n" );
11021105 //Fetch auth JWT token from cloud.
@@ -1132,58 +1135,58 @@ void createCurlHeader( struct curl_slist *list, struct curl_slist **header_list,
11321135 WEBCFG_FREE (schema_header );
11331136 }
11341137
1135- if (strlen (g_supportedVersion ) == 0 )
1138+
1139+ if (supportedVersion_header == NULL )
11361140 {
11371141 supportedVersion = getsupportedVersion ();
1138- if (supportedVersion != NULL )
1139- {
1140- strncpy (g_supportedVersion , supportedVersion , sizeof (g_supportedVersion )- 1 );
1141- WebcfgDebug ("g_supportedVersion fetched is %s\n" , g_supportedVersion );
1142- }
1143- }
11441142
1145- if (strlen (g_supportedVersion ))
1146- {
1147- supportedVersion_header = (char * ) malloc (sizeof (char )* MAX_BUF_SIZE );
1148- if (supportedVersion_header != NULL )
1143+ if (supportedVersion != NULL )
11491144 {
1150- snprintf (supportedVersion_header , MAX_BUF_SIZE , "X-System-Schema-Version: %s" , g_supportedVersion );
1145+ supported_version_size = strlen (supportedVersion )+ strlen ("X-System-Schema-Version: " );
1146+ supportedVersion_header = (char * ) malloc (supported_version_size + 1 );
1147+ memset (supportedVersion_header ,0 ,supported_version_size + 1 );
1148+ WebcfgDebug ("supportedVersion fetched is %s\n" , supportedVersion );
1149+ snprintf (supportedVersion_header , supported_version_size + 1 , "X-System-Schema-Version: %s" , supportedVersion );
11511150 WebcfgInfo ("supportedVersion_header formed %s\n" , supportedVersion_header );
11521151 list = curl_slist_append (list , supportedVersion_header );
1153- WEBCFG_FREE (supportedVersion_header );
1152+ }
1153+ else
1154+ {
1155+ WebcfgInfo ("supportedVersion fetched is NULL\n" );
11541156 }
11551157 }
11561158 else
11571159 {
1158- WebcfgInfo ("Failed to get supportedVersion\n" );
1160+ WebcfgInfo ("supportedVersion_header formed %s\n" , supportedVersion_header );
1161+ list = curl_slist_append (list , supportedVersion_header );
11591162 }
11601163
1161- if (strlen ( g_supportedDocs ) == 0 )
1164+ if (supportedDocs_header == NULL )
11621165 {
11631166 supportedDocs = getsupportedDocs ();
1164- if (supportedDocs != NULL )
1165- {
1166- strncpy (g_supportedDocs , supportedDocs , sizeof (g_supportedDocs )- 1 );
1167- WebcfgDebug ("g_supportedDocs fetched is %s\n" , g_supportedDocs );
1168- }
1169- }
11701167
1171- if (strlen (g_supportedDocs ))
1172- {
1173- supportedDocs_header = (char * ) malloc (sizeof (char )* MAX_BUF_SIZE );
1174- if (supportedDocs_header != NULL )
1168+ if (supportedDocs != NULL )
11751169 {
1176- snprintf (supportedDocs_header , MAX_BUF_SIZE , "X-System-Supported-Docs: %s" , g_supportedDocs );
1170+ supported_doc_size = strlen (supportedDocs )+ strlen ("X-System-Supported-Docs: " );
1171+ supportedDocs_header = (char * ) malloc (supported_doc_size + 1 );
1172+ memset (supportedDocs_header ,0 ,supported_doc_size + 1 );
1173+ WebcfgDebug ("supportedDocs fetched is %s\n" , supportedDocs );
1174+ snprintf (supportedDocs_header , supported_doc_size + 1 , "X-System-Supported-Docs: %s" , supportedDocs );
11771175 WebcfgInfo ("supportedDocs_header formed %s\n" , supportedDocs_header );
11781176 list = curl_slist_append (list , supportedDocs_header );
1179- WEBCFG_FREE (supportedDocs_header );
1177+ }
1178+ else
1179+ {
1180+ WebcfgInfo ("SupportedDocs fetched is NULL\n" );
11801181 }
11811182 }
11821183 else
11831184 {
1184- WebcfgError ("Failed to get supportedDocs\n" );
1185+ WebcfgInfo ("supportedDocs_header formed %s\n" , supportedDocs_header );
1186+ list = curl_slist_append (list , supportedDocs_header );
11851187 }
11861188
1189+
11871190 if (strlen (g_bootTime ) == 0 )
11881191 {
11891192 bootTime = getDeviceBootTime ();
@@ -1636,7 +1639,7 @@ void failedDocsRetry()
16361639 }
16371640 else
16381641 {
1639- WebcfgInfo ("Retry skipped for %s (%s)\n" ,temp -> name ,temp -> error_details );
1642+ WebcfgDebug ("Retry skipped for %s (%s)\n" ,temp -> name ,temp -> error_details );
16401643 }
16411644 temp = temp -> next ;
16421645 }
0 commit comments