xml_repomd_parser: Replace atol() with cr_xml_parser_strtoll()
authorTomas Mlcoch <tmlcoch@redhat.com>
Wed, 11 Sep 2013 14:22:45 +0000 (16:22 +0200)
committerTomas Mlcoch <tmlcoch@redhat.com>
Wed, 11 Sep 2013 14:22:45 +0000 (16:22 +0200)
src/load_metadata.c
src/xml_parser_repomd.c

index 522863d11407649713c2647213d10789fbfc4fc4..682d4dcefabfe3301e39481e1e0e780ab69b0e8a 100644 (file)
 #include "locate_metadata.h"
 #include "xml_parser.h"
 
-/** TODO:
- * - Add support for single chunk (?)
- * - Support for warning cbs
- */
-
 #define STRINGCHUNK_SIZE        16384
 
 /** Structure for loaded metadata
index dcad64453e732c83303844afe0409547a2a65863..f9559da3493bebf1e05841df3c338acf8bd18ef1 100644 (file)
 #define ERR_DOMAIN      CR_XML_PARSER_REPOMD_ERROR
 #define ERR_CODE_XML    CRE_BADXMLREPOMD
 
-/* TODO:
- * - replace atol function with better alternative
- */
-
 typedef enum {
     STATE_START,
     STATE_REPOMD,
@@ -336,28 +332,30 @@ cr_end_handler(void *pdata, const char *element)
         assert(pd->repomd);
         assert(pd->repomdrecord);
 
-        pd->repomdrecord->timestamp = atol(pd->content);
+        pd->repomdrecord->timestamp = cr_xml_parser_strtoll(pd, pd->content, 0);
         break;
 
     case STATE_SIZE:
         assert(pd->repomd);
         assert(pd->repomdrecord);
 
-        pd->repomdrecord->size = atol(pd->content);
+        pd->repomdrecord->size = cr_xml_parser_strtoll(pd, pd->content, 0);
         break;
 
     case STATE_OPENSIZE:
         assert(pd->repomd);
         assert(pd->repomdrecord);
 
-        pd->repomdrecord->size_open = atol(pd->content);
+        pd->repomdrecord->size_open = cr_xml_parser_strtoll(pd, pd->content, 0);
         break;
 
     case STATE_DBVERSION:
         assert(pd->repomd);
         assert(pd->repomdrecord);
 
-        pd->repomdrecord->db_ver = atol(pd->content);
+        pd->repomdrecord->db_ver = (int) cr_xml_parser_strtoll(pd,
+                                                               pd->content,
+                                                               0);
         break;
 
     default: