Add missing permission notice in each source file
[babeltrace.git] / lib / iterator.c
index a06d66bdd34790feaea7a2ca477b59b0b89fd93a..41a46020f6c690b4cc253044d845c0919e34cf0f 100644 (file)
  *
  * The above copyright notice and this permission notice shall be included in
  * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
  */
 
 #include <stdlib.h>
@@ -253,7 +261,7 @@ static int find_max_timestamp_ctf_stream_class(
                struct ctf_file_stream **cfsp,
                uint64_t *max_timestamp)
 {
-       int ret = EOF, i;
+       int ret = EOF, i, found = 0;
 
        for (i = 0; i < stream_class->streams->len; i++) {
                struct ctf_stream_definition *stream;
@@ -272,9 +280,13 @@ static int find_max_timestamp_ctf_stream_class(
                if (current_max_ts >= *max_timestamp) {
                        *max_timestamp = current_max_ts;
                        *cfsp = cfs;
+                       found = 1;
                }
        }
        assert(ret >= 0 || ret == EOF);
+       if (found) {
+               return 0;
+       }
        return ret;
 }
 
@@ -381,8 +393,8 @@ int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos)
                        stream->prev_cycles_timestamp = 0;
                        stream->prev_cycles_timestamp_end = 0;
 
-                       printf_debug("restored to cur_index = %zd and "
-                               "offset = %zd, timestamp = %" PRIu64 "\n",
+                       printf_debug("restored to cur_index = %" PRId64 " and "
+                               "offset = %" PRId64 ", timestamp = %" PRIu64 "\n",
                                stream_pos->cur_index,
                                stream_pos->offset, stream->real_timestamp);
 
@@ -471,6 +483,10 @@ int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos)
                                        if (ret != 0 && ret != EOF) {
                                                goto error;
                                        }
+                                       if (ret == EOF) {
+                                               /* Do not add EOF streams */
+                                               continue;
+                                       }
                                        ret = heap_insert(iter->stream_heap, file_stream);
                                        if (ret)
                                                goto error;
@@ -625,7 +641,6 @@ static int babeltrace_filestream_seek(struct ctf_file_stream *file_stream,
                break;
        case BT_SEEK_TIME:
        case BT_SEEK_RESTORE:
-       case BT_SEEK_END:
        default:
                assert(0); /* Not yet defined */
        }
This page took 0.023462 seconds and 4 git commands to generate.