Changing API for gr_skiphead to use uint64_t for the offset instead of size_t (still...
authorTom Rondeau <trondeau@vt.edu>
Wed, 24 Nov 2010 23:21:02 +0000 (18:21 -0500)
committerTom Rondeau <trondeau@vt.edu>
Wed, 24 Nov 2010 23:21:02 +0000 (18:21 -0500)
Also uses uint64_t's internally so everyone is always on the same type. This should not affect anyone's use of the block.

gnuradio-core/src/lib/general/gr_skiphead.cc
gnuradio-core/src/lib/general/gr_skiphead.h
gnuradio-core/src/lib/general/gr_skiphead.i

index ea7e9405f17d694313804e028492a5bf8f9dec7c..1670eb7cf38dd7bdcee413589e8655fd3a350d7b 100644 (file)
@@ -27,7 +27,7 @@
 #include <gr_io_signature.h>
 #include <string.h>
 
-gr_skiphead::gr_skiphead (size_t itemsize, size_t nitems_to_skip)
+gr_skiphead::gr_skiphead (size_t itemsize, uint64_t nitems_to_skip)
   : gr_block ("skiphead",
              gr_make_io_signature(1, 1, itemsize),
              gr_make_io_signature(1, 1, itemsize)),
@@ -36,7 +36,7 @@ gr_skiphead::gr_skiphead (size_t itemsize, size_t nitems_to_skip)
 }
 
 gr_skiphead_sptr
-gr_make_skiphead (size_t itemsize, size_t nitems_to_skip)
+gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip)
 {
   return gnuradio::get_initial_sptr(new gr_skiphead (itemsize, nitems_to_skip));
 }
@@ -55,11 +55,11 @@ gr_skiphead::general_work(int noutput_items,
 
   while (ii < ninput_items){
 
-    long long ni_total = ii + d_nitems;        // total items processed so far
+    uint64_t ni_total = ii + d_nitems;         // total items processed so far
     if (ni_total < d_nitems_to_skip){          // need to skip some more
 
       int n_to_skip = (int) std::min(d_nitems_to_skip - ni_total,
-                                    (long long)(ninput_items - ii));
+                                    (uint64_t)(ninput_items - ii));
       ii += n_to_skip;
     }
 
index 965feff9b2015a0aa159db7c95f36d8c09337f65..933c126e36dd40ca6a9626f8fba2ab619e28a39d 100644 (file)
@@ -39,11 +39,11 @@ typedef boost::shared_ptr<gr_skiphead> gr_skiphead_sptr;
 
 class gr_skiphead : public gr_block
 {
-  friend gr_skiphead_sptr gr_make_skiphead (size_t itemsize, size_t nitems_to_skip);
-  gr_skiphead (size_t itemsize, size_t nitems_to_skip);
+  friend gr_skiphead_sptr gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip);
+  gr_skiphead (size_t itemsize, uint64_t nitems_to_skip);
 
-  long long            d_nitems_to_skip;
-  long long            d_nitems;               // total items seen
+  uint64_t             d_nitems_to_skip;
+  uint64_t             d_nitems;               // total items seen
 
  public:
 
@@ -54,7 +54,7 @@ class gr_skiphead : public gr_block
 };
 
 gr_skiphead_sptr
-gr_make_skiphead (size_t itemsize, size_t nitems_to_skip);
+gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip);
 
 
 #endif /* INCLUDED_GR_SKIPHEAD_H */
index 52c0808f01350d195f47dc9f718001b43ee76b64..45cbd04372e499340bc32da7b6f3b1a64327d1b2 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2005,2007 Free Software Foundation, Inc.
+ * Copyright 2005,2007,2010 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -22,9 +22,9 @@
 
 GR_SWIG_BLOCK_MAGIC(gr,skiphead);
 
-gr_skiphead_sptr gr_make_skiphead (size_t itemsize, size_t nitems_to_skip);
+gr_skiphead_sptr gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip);
 
 class gr_skiphead : public gr_block {
-  friend gr_skiphead_sptr gr_make_skiphead (size_t itemsize, size_t nitems_to_skip);
-  gr_skiphead (size_t itemsize, size_t nitems_to_skip);
+  friend gr_skiphead_sptr gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip);
+  gr_skiphead (size_t itemsize, uint64_t nitems_to_skip);
 };