use %lld with (long long) conversion when printing time.
[rrdtool.git] / src / rrd_dump.c
index 9da8fd7..40e707b 100644 (file)
@@ -111,8 +111,8 @@ static int rrd_dump_opt_r(
 #else
 # error "Need strftime"
 #endif
-    fprintf(out_file, "\t<lastupdate>%lu</lastupdate> <!-- %s -->\n\n",
-            (unsigned long) rrd.live_head->last_up, somestring);
+    fprintf(out_file, "\t<lastupdate>%lld</lastupdate> <!-- %s -->\n\n",
+            (long long) rrd.live_head->last_up, somestring);
     for (i = 0; i < rrd.stat_head->ds_cnt; i++) {
         fprintf(out_file, "\t<ds>\n");
         fprintf(out_file, "\t\t<name>%s</name>\n", rrd.ds_def[i].ds_nam);
@@ -394,7 +394,7 @@ static int rrd_dump_opt_r(
         rrd_seek(rrd_file, (rra_start + (rrd.rra_ptr[i].cur_row + 1)
                             * rrd.stat_head->ds_cnt
                             * sizeof(rrd_value_t)), SEEK_SET);
-        timer = -(rrd.rra_def[i].row_cnt - 1);
+        timer = -(long)(rrd.rra_def[i].row_cnt - 1);
         ii = rrd.rra_ptr[i].cur_row;
         for (ix = 0; ix < rrd.rra_def[i].row_cnt; ix++) {
             ii++;
@@ -414,8 +414,8 @@ static int rrd_dump_opt_r(
 #else
 # error "Need strftime"
 #endif
-            fprintf(out_file, "\t\t\t<!-- %s / %d --> <row>", somestring,
-                    (int) now);
+            fprintf(out_file, "\t\t\t<!-- %s / %lld --> <row>", somestring,
+                    (long long) now);
             for (iii = 0; iii < rrd.stat_head->ds_cnt; iii++) {
                 rrd_read(rrd_file, &my_cdp, sizeof(rrd_value_t) * 1);
                 if (isnan(my_cdp)) {
@@ -455,7 +455,7 @@ int rrd_dump(
      * 1 = dtd header
      * 2 = xsd header
      */
-    int       opt_header = 0;
+    int       opt_header = 1;
     char     *opt_daemon = NULL;
 
     /* init rrd clean */
@@ -463,16 +463,17 @@ int rrd_dump(
     optind = 0;
     opterr = 0;         /* initialize getopt */
 
-    while (42) {
+    while (42) {/* ha ha */
         int       opt;
         int       option_index = 0;
         static struct option long_options[] = {
             {"daemon", required_argument, 0, 'd'},
             {"header", required_argument, 0, 'h'},
+            {"no-header", no_argument, 0, 'n'},
             {0, 0, 0, 0}
         };
 
-        opt = getopt_long(argc, argv, "d:h:", long_options, &option_index);
+        opt = getopt_long(argc, argv, "d:h:n", long_options, &option_index);
 
         if (opt == EOF)
             break;
@@ -489,16 +490,22 @@ int rrd_dump(
             }
             break;
 
+        case 'n':
+           opt_header = 0;
+           break;
+
         case 'h':
           if (strcmp(optarg, "dtd") == 0) {
                opt_header = 1;
           } else if (strcmp(optarg, "xsd") == 0) {
                opt_header = 2;
+          } else if (strcmp(optarg, "none") == 0) {
+               opt_header = 0;
           }
           break;
 
         default:
-            rrd_set_error("usage rrdtool %s [--header|-h {xsd,dtd}] "
+            rrd_set_error("usage rrdtool %s [--header|-h {none,xsd,dtd}] [--no-header]"
                           "file.rrd [file.xml]", argv[0]);
             return (-1);
             break;
@@ -506,7 +513,7 @@ int rrd_dump(
     }                   /* while (42) */
 
     if ((argc - optind) < 1 || (argc - optind) > 2) {
-        rrd_set_error("usage rrdtool %s [--header|-h {xsd,dtd}] "
+        rrd_set_error("usage rrdtool %s [--header|-h {none,xsd,dtd}] [--no-header]"
                       "file.rrd [file.xml]", argv[0]);
         return (-1);
     }