Please find attached file containing changes in function int 
 bb_reload_smsc_groups().
 This change is related to issue 611.
 Use it if you think that is useful.
 
 thank you
 k.t
 
                                          
Hello,

Am sending you the following change for the issue 611:

Changes in file bearerbox. c 

function :

int bb_reload_smsc_groups()
{
  Cfg *cfg;

  debug("bb.sms", 0, "Reloading groups list from disk");
  cfg =  cfg_create(cfg_filename);
  if (cfg_read(cfg) == -1) 
  {
    warning(0, "Error opening configuration file %s", 
octstr_get_cstr(cfg_filename));
    return -1;
  }
    
  if (smsc_groups != NULL)
   gwlist_destroy(smsc_groups, destroy_group);                   /* kltsa 
28/9/2011: NULL replaced by the function that can destroy cfg group.     */
    
   smsc_groups = cfg_remove_multi_group(cfg, octstr_imm("smsc")); /*            
      Old code : cfg_get_multi_group(cfg, octstr_imm("smsc"));      */
   cfg_destroy(cfg);                                              /*            
      Instead of getting the list of smscs the list will be removed */
                                                                   /*           
       and the cfg will be destroyed at the end.                     */
   return 0;                                                        
}                                                             


Definition of function cfg_remove_multi_grout() in function cfg.c

/* kltsa 28/9/2011: New function used for removing a multi group complitelly 
from a cfg. 
                    This will be used in bb_reload_smsc_groups where cfg needs 
to be destroyed 
                    but multi group to be extracted first.
*/ 
List *cfg_remove_multi_group(Cfg *cfg, Octstr *name)
{
  List *list;
      
  list = dict_remove(cfg->multi_groups, name);
  if (list == NULL)
   return NULL;    
    
  return list;
}




Also functions definitions should be added in h files.



thank you.

Reply via email to