src/universal-analytics.c
void initTracker(UATracker_t* tracker, char* trackingId, char* clientId, char* userId){
  assert(NULL != tracker);
  cleanTracker(tracker);
  
  (*tracker).__configured__ = UA_MEM_MAGIC_CONFIG;

  populateTypeNames(tracker->map_types);
  populateParameterNames(tracker->map_parameters, tracker->map_custom);

  memset(& tracker->query, 0, UA_MAX_QUERY_LEN);

  HTTPsetup(& tracker->queue);

  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_VERSION_NUMBER, 0, UA_PROTOCOL_VERSION);
  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_TRACKING_ID, 0, trackingId);
  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_CLIENT_ID, 0, clientId);
  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_USER_ID, 0, userId);

  setTrackerOption(tracker, UA_OPTION_QUEUE, UA_DEFAULT_OPTION_QUEUE);

}
/* Set up an already-allocated tracker
 *  - Clear out the whole tracker space
 *  - Populate parameter names
 *  - Define lifetime tracker values
 */
Set up an already-allocated tracker
- Clear out the whole tracker space
- Populate parameter names
- Define lifetime tracker values
Set up an already - allocated tracker - Clear out the whole tracker space - Populate parameter names - Define lifetime tracker values
void initTracker(UATracker_t* tracker, char* trackingId, char* clientId, char* userId){
  assert(NULL != tracker);
  cleanTracker(tracker);
  (*tracker).__configured__ = UA_MEM_MAGIC_CONFIG;
  populateTypeNames(tracker->map_types);
  populateParameterNames(tracker->map_parameters, tracker->map_custom);
  memset(& tracker->query, 0, UA_MAX_QUERY_LEN);
  HTTPsetup(& tracker->queue);
  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_VERSION_NUMBER, 0, UA_PROTOCOL_VERSION);
  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_TRACKING_ID, 0, trackingId);
  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_CLIENT_ID, 0, clientId);
  setParameterCore(tracker->map_parameters, tracker->lifetime_parameters, UA_USER_ID, 0, userId);
  setTrackerOption(tracker, UA_OPTION_QUEUE, UA_DEFAULT_OPTION_QUEUE);
}
void initTracker ( UATracker_t * tracker , char * trackingId , char * clientId , char * userId ) { assert ( NULL != tracker ) ; cleanTracker ( tracker ) ; ( * tracker ) . __configured__ = UA_MEM_MAGIC_CONFIG ; populateTypeNames ( tracker -> map_types ) ; populateParameterNames ( tracker -> map_parameters , tracker -> map_custom ) ; memset ( & tracker -> query , 0 , UA_MAX_QUERY_LEN ) ; HTTPsetup ( & tracker -> queue ) ; setParameterCore ( tracker -> map_parameters , tracker -> lifetime_parameters , UA_VERSION_NUMBER , 0 , UA_PROTOCOL_VERSION ) ; setParameterCore ( tracker -> map_parameters , tracker -> lifetime_parameters , UA_TRACKING_ID , 0 , trackingId ) ; setParameterCore ( tracker -> map_parameters , tracker -> lifetime_parameters , UA_CLIENT_ID , 0 , clientId ) ; setParameterCore ( tracker -> map_parameters , tracker -> lifetime_parameters , UA_USER_ID , 0 , userId ) ; setTrackerOption ( tracker , UA_OPTION_QUEUE , UA_DEFAULT_OPTION_QUEUE ) ; }
Set up an already-allocated tracker
  - Clear out the whole tracker space
  - Populate parameter names
  - Define lifetime tracker values
Set up an already - allocated tracker - Clear out the whole tracker space - Populate parameter names - Define lifetime tracker values