Imported Upstream version 1.0.25
[platform/upstream/libsndfile.git] / src / chunk.c
1 /*
2 ** Copyright (C) 2008-2011 Erik de Castro Lopo <erikd@mega-nerd.com>
3 **
4 ** This program is free software; you can redistribute it and/or modify
5 ** it under the terms of the GNU Lesser General Public License as published by
6 ** the Free Software Foundation; either version 2.1 of the License, or
7 ** (at your option) any later version.
8 **
9 ** This program is distributed in the hope that it will be useful,
10 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 ** GNU Lesser General Public License for more details.
13 **
14 ** You should have received a copy of the GNU Lesser General Public License
15 ** along with this program; if not, write to the Free Software
16 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 */
18
19 #include        "sfconfig.h"
20
21 #include        <stdlib.h>
22 #include        <string.h>
23
24 #include        "sndfile.h"
25 #include        "sfendian.h"
26 #include        "common.h"
27
28
29 void
30 pchk4_store (PRIV_CHUNK4 * pchk, int marker, sf_count_t offset, sf_count_t len)
31 {
32         if (pchk->count >= ARRAY_LEN (pchk->l))
33                 return ;
34
35         pchk->l [pchk->count].chunk = marker ;
36         pchk->l [pchk->count].offset = offset ;
37         pchk->l [pchk->count].len = len ;
38
39         pchk->count ++ ;
40
41         return ;
42 } /* pchk4_store */
43
44 int
45 pchk4_find (PRIV_CHUNK4 * pchk, int marker)
46 {       int k ;
47
48         for (k = 0 ; k < pchk->count ; k++)
49                 if (pchk->l [k].chunk == marker)
50                         return k ;
51
52         return -1 ;
53 } /* pchk4_find */
54