Changeset 2560

Show
Ignore:
Timestamp:
04/11/12 12:40:41 (14 months ago)
Author:
peter
Message:

replace asprintf with boost::format. Improves portability and gets rid of two gcc warnings. Patch by Ruben d'Arco

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/backends/gsql/gsqlbackend.cc

    r2477 r2560  
    763763bool GSQLBackend::feedRecord(const DNSResourceRecord &r) 
    764764{ 
    765   char *output; 
     765  string output; 
    766766  if(d_dnssecQueries) { 
    767     asprintf(&output, d_InsertRecordQuery.c_str(), 
    768       sqlEscape(r.content).c_str(), 
    769       r.ttl, r.priority, 
    770       sqlEscape(r.qtype.getName()).c_str(), 
    771       r.domain_id, toLower(sqlEscape(r.qname)).c_str(), (int)r.auth);  
    772   } 
    773   else { 
    774     asprintf(&output, d_InsertRecordQuery.c_str(), 
    775       sqlEscape(r.content).c_str(), 
    776       r.ttl, r.priority, 
    777       sqlEscape(r.qtype.getName()).c_str(), 
    778       r.domain_id, toLower(sqlEscape(r.qname)).c_str());  
     767    output = (boost::format(d_InsertRecordQuery) % sqlEscape(r.content) % r.ttl % r.priority % sqlEscape(r.qtype.getName()) % r.domain_id % toLower(sqlEscape(r.qname)) % (int)r.auth).str(); 
     768  } else { 
     769    output = (boost::format(d_InsertRecordQuery) % sqlEscape(r.content) % r.ttl % r.priority % sqlEscape(r.qtype.getName()) % r.domain_id % toLower(sqlEscape(r.qname))).str(); 
    779770  } 
    780771      
    781       
    782   try { 
    783     d_db->doCommand(output); 
    784     free(output); 
    785   } 
    786   catch (SSqlException &e) { 
    787     free(output); 
     772  try { 
     773    d_db->doCommand(output.c_str()); 
     774  } 
     775  catch (SSqlException &e) { 
    788776    throw AhuException(e.txtReason()); 
    789777  }