diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-10-19 07:10:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:01:54 -0500 |
commit | 198be6fc777fa1cdd461beb55fe2c30544047177 (patch) | |
tree | dfc7c3123b9796357fcb45f5d06a230adc0d380c | |
parent | b2b8282b8cc1774ac9cbef9a31ac23705ca45ac2 (diff) | |
download | samba-198be6fc777fa1cdd461beb55fe2c30544047177.tar.gz samba-198be6fc777fa1cdd461beb55fe2c30544047177.tar.bz2 samba-198be6fc777fa1cdd461beb55fe2c30544047177.zip |
r3058: we don't use the bitmap code any more, delete it
(This used to be commit 2b0554b3b598accb1b2ddade1bf17fa2cc2cb05b)
-rw-r--r-- | source4/lib/basic.mk | 1 | ||||
-rw-r--r-- | source4/lib/bitmap.c | 163 |
2 files changed, 0 insertions, 164 deletions
diff --git a/source4/lib/basic.mk b/source4/lib/basic.mk index d525f5f156..3baab26c5b 100644 --- a/source4/lib/basic.mk +++ b/source4/lib/basic.mk @@ -17,7 +17,6 @@ ADD_OBJ_FILES = \ lib/time.o \ lib/genrand.o \ lib/username.o \ - lib/bitmap.o \ lib/snprintf.o \ lib/dprintf.o \ lib/xfile.o \ diff --git a/source4/lib/bitmap.c b/source4/lib/bitmap.c deleted file mode 100644 index 5a8325d4ba..0000000000 --- a/source4/lib/bitmap.c +++ /dev/null @@ -1,163 +0,0 @@ -/* - Unix SMB/CIFS implementation. - simple bitmap functions - Copyright (C) Andrew Tridgell 1992-1998 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include "includes.h" - -/* these functions provide a simple way to allocate integers from a - pool without repetition */ - -/**************************************************************************** -allocate a bitmap of the specified size -****************************************************************************/ -struct bitmap *bitmap_allocate(int n) -{ - struct bitmap *bm; - - bm = (struct bitmap *)malloc(sizeof(*bm)); - - if (!bm) return NULL; - - bm->n = n; - bm->b = (uint32_t *)malloc(sizeof(bm->b[0])*(n+31)/32); - if (!bm->b) { - SAFE_FREE(bm); - return NULL; - } - - memset(bm->b, 0, sizeof(bm->b[0])*(n+31)/32); - - return bm; -} - -/**************************************************************************** -free a bitmap. -****************************************************************************/ - -void bitmap_free(struct bitmap *bm) -{ - if (!bm) - return; - - SAFE_FREE(bm->b); - SAFE_FREE(bm); -} - -/**************************************************************************** -talloc a bitmap -****************************************************************************/ -struct bitmap *bitmap_talloc(TALLOC_CTX *mem_ctx, int n) -{ - struct bitmap *bm; - - if (!mem_ctx) return NULL; - - bm = (struct bitmap *)talloc(mem_ctx, sizeof(*bm)); - - if (!bm) return NULL; - - bm->n = n; - bm->b = (uint32_t *)talloc(mem_ctx, sizeof(bm->b[0])*(n+31)/32); - if (!bm->b) { - return NULL; - } - - memset(bm->b, 0, sizeof(bm->b[0])*(n+31)/32); - - return bm; -} - -/**************************************************************************** -set a bit in a bitmap -****************************************************************************/ -BOOL bitmap_set(struct bitmap *bm, uint_t i) -{ - if (i >= bm->n) { - DEBUG(0,("Setting invalid bitmap entry %d (of %d)\n", - i, bm->n)); - return False; - } - bm->b[i/32] |= (1<<(i%32)); - return True; -} - -/**************************************************************************** -clear a bit in a bitmap -****************************************************************************/ -BOOL bitmap_clear(struct bitmap *bm, uint_t i) -{ - if (i >= bm->n) { - DEBUG(0,("clearing invalid bitmap entry %d (of %d)\n", - i, bm->n)); - return False; - } - bm->b[i/32] &= ~(1<<(i%32)); - return True; -} - -/**************************************************************************** -query a bit in a bitmap -****************************************************************************/ -BOOL bitmap_query(struct bitmap *bm, uint_t i) -{ - if (i >= bm->n) return False; - if (bm->b[i/32] & (1<<(i%32))) { - return True; - } - return False; -} - -/**************************************************************************** -find a zero bit in a bitmap starting at the specified offset, with -wraparound -****************************************************************************/ -int bitmap_find(struct bitmap *bm, uint_t ofs) -{ - uint_t i, j; - - if (ofs > bm->n) ofs = 0; - - i = ofs; - while (i < bm->n) { - if (~(bm->b[i/32])) { - j = i; - do { - if (!bitmap_query(bm, j)) return j; - j++; - } while (j & 31 && j < bm->n); - } - i += 32; - i &= ~31; - } - - i = 0; - while (i < ofs) { - if (~(bm->b[i/32])) { - j = i; - do { - if (!bitmap_query(bm, j)) return j; - j++; - } while (j & 31 && j < bm->n); - } - i += 32; - i &= ~31; - } - - return -1; -} |