1234567891011121314151617181920212223242526272829303132333435 |
- /*
- * EliasDB
- *
- * Copyright 2016 Matthias Ladkau. All rights reserved.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
- package paging
- /*
- CountPages counts the number of pages of a certain type of a given PagedStorageFile.
- */
- func CountPages(pager *PagedStorageFile, pagetype int16) (int, error) {
- var err error
- cursor := NewPageCursor(pager, pagetype, 0)
- page, _ := cursor.Next()
- counter := 0
- for page != 0 {
- counter++
- page, err = cursor.Next()
- if err != nil {
- return -1, err
- }
- }
- return counter, nil
- }
|