aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/yasm/libyasm/assocdat.c
diff options
context:
space:
mode:
authorsomov <somov@yandex-team.ru>2022-02-10 16:45:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:49 +0300
commit7489e4682331202b9c7d863c0898eb83d7b12c2b (patch)
tree9142afc54d335ea52910662635b898e79e192e49 /contrib/tools/yasm/libyasm/assocdat.c
parenta5950576e397b1909261050b8c7da16db58f10b1 (diff)
downloadydb-7489e4682331202b9c7d863c0898eb83d7b12c2b.tar.gz
Restoring authorship annotation for <somov@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/tools/yasm/libyasm/assocdat.c')
-rw-r--r--contrib/tools/yasm/libyasm/assocdat.c276
1 files changed, 138 insertions, 138 deletions
diff --git a/contrib/tools/yasm/libyasm/assocdat.c b/contrib/tools/yasm/libyasm/assocdat.c
index 527c678fc1..560093685e 100644
--- a/contrib/tools/yasm/libyasm/assocdat.c
+++ b/contrib/tools/yasm/libyasm/assocdat.c
@@ -1,138 +1,138 @@
-/*
- * YASM associated data storage (libyasm internal use)
- *
- * Copyright (C) 2003-2007 Peter Johnson
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-#include "util.h"
-
-#include "coretype.h"
-#include "assocdat.h"
-
-
-typedef struct assoc_data_item {
- const yasm_assoc_data_callback *callback;
- void *data;
-} assoc_data_item;
-
-struct yasm__assoc_data {
- assoc_data_item *vector;
- size_t size;
- size_t alloc;
-};
-
-
-yasm__assoc_data *
-yasm__assoc_data_create(void)
-{
- yasm__assoc_data *assoc_data = yasm_xmalloc(sizeof(yasm__assoc_data));
-
- assoc_data->size = 0;
- assoc_data->alloc = 2;
- assoc_data->vector = yasm_xmalloc(assoc_data->alloc *
- sizeof(assoc_data_item));
-
- return assoc_data;
-}
-
-void *
-yasm__assoc_data_get(yasm__assoc_data *assoc_data,
- const yasm_assoc_data_callback *callback)
-{
- size_t i;
-
- if (!assoc_data)
- return NULL;
-
- for (i=0; i<assoc_data->size; i++) {
- if (assoc_data->vector[i].callback == callback)
- return assoc_data->vector[i].data;
- }
- return NULL;
-}
-
-yasm__assoc_data *
-yasm__assoc_data_add(yasm__assoc_data *assoc_data_arg,
- const yasm_assoc_data_callback *callback, void *data)
-{
- yasm__assoc_data *assoc_data;
- assoc_data_item *item = NULL;
- size_t i;
-
- /* Create a new assoc_data if necessary */
- if (assoc_data_arg)
- assoc_data = assoc_data_arg;
- else
- assoc_data = yasm__assoc_data_create();
-
- /* See if there's already assocated data for this callback */
- for (i=0; i<assoc_data->size; i++) {
- if (assoc_data->vector[i].callback == callback) {
- item = &assoc_data->vector[i];
- break;
- }
- }
-
- /* No? Then append a new one */
- if (!item) {
- assoc_data->size++;
- if (assoc_data->size > assoc_data->alloc) {
- assoc_data->alloc *= 2;
- assoc_data->vector =
- yasm_xrealloc(assoc_data->vector,
- assoc_data->alloc * sizeof(assoc_data_item));
- }
- item = &assoc_data->vector[assoc_data->size-1];
- item->callback = callback;
- item->data = NULL;
- }
-
- /* Delete existing data (if any) */
- if (item->data && item->data != data)
- item->callback->destroy(item->data);
-
- item->data = data;
-
- return assoc_data;
-}
-
-void
-yasm__assoc_data_destroy(yasm__assoc_data *assoc_data)
-{
- size_t i;
-
- if (!assoc_data)
- return;
-
- for (i=0; i<assoc_data->size; i++)
- assoc_data->vector[i].callback->destroy(assoc_data->vector[i].data);
- yasm_xfree(assoc_data->vector);
- yasm_xfree(assoc_data);
-}
-
-void
-yasm__assoc_data_print(const yasm__assoc_data *assoc_data, FILE *f,
- int indent_level)
-{
- /*TODO*/
-}
+/*
+ * YASM associated data storage (libyasm internal use)
+ *
+ * Copyright (C) 2003-2007 Peter Johnson
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include "util.h"
+
+#include "coretype.h"
+#include "assocdat.h"
+
+
+typedef struct assoc_data_item {
+ const yasm_assoc_data_callback *callback;
+ void *data;
+} assoc_data_item;
+
+struct yasm__assoc_data {
+ assoc_data_item *vector;
+ size_t size;
+ size_t alloc;
+};
+
+
+yasm__assoc_data *
+yasm__assoc_data_create(void)
+{
+ yasm__assoc_data *assoc_data = yasm_xmalloc(sizeof(yasm__assoc_data));
+
+ assoc_data->size = 0;
+ assoc_data->alloc = 2;
+ assoc_data->vector = yasm_xmalloc(assoc_data->alloc *
+ sizeof(assoc_data_item));
+
+ return assoc_data;
+}
+
+void *
+yasm__assoc_data_get(yasm__assoc_data *assoc_data,
+ const yasm_assoc_data_callback *callback)
+{
+ size_t i;
+
+ if (!assoc_data)
+ return NULL;
+
+ for (i=0; i<assoc_data->size; i++) {
+ if (assoc_data->vector[i].callback == callback)
+ return assoc_data->vector[i].data;
+ }
+ return NULL;
+}
+
+yasm__assoc_data *
+yasm__assoc_data_add(yasm__assoc_data *assoc_data_arg,
+ const yasm_assoc_data_callback *callback, void *data)
+{
+ yasm__assoc_data *assoc_data;
+ assoc_data_item *item = NULL;
+ size_t i;
+
+ /* Create a new assoc_data if necessary */
+ if (assoc_data_arg)
+ assoc_data = assoc_data_arg;
+ else
+ assoc_data = yasm__assoc_data_create();
+
+ /* See if there's already assocated data for this callback */
+ for (i=0; i<assoc_data->size; i++) {
+ if (assoc_data->vector[i].callback == callback) {
+ item = &assoc_data->vector[i];
+ break;
+ }
+ }
+
+ /* No? Then append a new one */
+ if (!item) {
+ assoc_data->size++;
+ if (assoc_data->size > assoc_data->alloc) {
+ assoc_data->alloc *= 2;
+ assoc_data->vector =
+ yasm_xrealloc(assoc_data->vector,
+ assoc_data->alloc * sizeof(assoc_data_item));
+ }
+ item = &assoc_data->vector[assoc_data->size-1];
+ item->callback = callback;
+ item->data = NULL;
+ }
+
+ /* Delete existing data (if any) */
+ if (item->data && item->data != data)
+ item->callback->destroy(item->data);
+
+ item->data = data;
+
+ return assoc_data;
+}
+
+void
+yasm__assoc_data_destroy(yasm__assoc_data *assoc_data)
+{
+ size_t i;
+
+ if (!assoc_data)
+ return;
+
+ for (i=0; i<assoc_data->size; i++)
+ assoc_data->vector[i].callback->destroy(assoc_data->vector[i].data);
+ yasm_xfree(assoc_data->vector);
+ yasm_xfree(assoc_data);
+}
+
+void
+yasm__assoc_data_print(const yasm__assoc_data *assoc_data, FILE *f,
+ int indent_level)
+{
+ /*TODO*/
+}