2010-12-03 05:34:57 +01:00
|
|
|
/* go-map-len.c -- return the length of a map.
|
|
|
|
|
|
|
|
Copyright 2009 The Go Authors. All rights reserved.
|
|
|
|
Use of this source code is governed by a BSD-style
|
|
|
|
license that can be found in the LICENSE file. */
|
|
|
|
|
|
|
|
#include <stddef.h>
|
|
|
|
|
2012-11-01 04:02:13 +01:00
|
|
|
#include "runtime.h"
|
2011-04-13 23:00:59 +02:00
|
|
|
#include "go-assert.h"
|
2010-12-03 05:34:57 +01:00
|
|
|
#include "map.h"
|
|
|
|
|
|
|
|
/* Return the length of a map. This could be done inline, of course,
|
2011-04-13 23:00:59 +02:00
|
|
|
but I'm doing it as a function for now to make it easy to change
|
|
|
|
the map structure. */
|
2010-12-03 05:34:57 +01:00
|
|
|
|
2012-11-01 04:02:13 +01:00
|
|
|
intgo
|
2010-12-03 05:34:57 +01:00
|
|
|
__go_map_len (struct __go_map *map)
|
|
|
|
{
|
|
|
|
if (map == NULL)
|
|
|
|
return 0;
|
2012-11-01 04:02:13 +01:00
|
|
|
__go_assert (map->__element_count
|
|
|
|
== (uintptr_t) (intgo) map->__element_count);
|
2010-12-03 05:34:57 +01:00
|
|
|
return map->__element_count;
|
|
|
|
}
|