Mercurial > trustbridge
view cinst/nss-secitemlist.c @ 1081:edbf5e5e88f4
(issue118) Extend verify_binary to carry an open file
* binverify.c: Change result to a structure containing an open fptr
Use in Memory data for windows verification.
* mainwindow.cpp, selftest.c: Handle the returend structure
* binverifytest.cpp: Test for the exclusive read and update signature.
* listutil.c: Add optional fptr parameter to read_file
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 11 Sep 2014 12:05:24 +0200 |
parents | 171124737c76 |
children |
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ #include "nss-secitemlist.h" void seciteml_push (seciteml_t **list, SECItem *item) { seciteml_t *newlelt; SECItem *newitem; newlelt = (seciteml_t *)xmalloc( sizeof(seciteml_t) ); newitem = (SECItem *)xmalloc( sizeof(SECItem) ); memcpy(newitem, item, sizeof(SECItem)); newlelt->item = newitem; newlelt->next = *list; *list = newlelt; } void seciteml_free (seciteml_t **list) { seciteml_t *oldlelt; while (*list != NULL) { oldlelt = *list; *list = oldlelt->next; if (oldlelt->item->data) free(oldlelt->item->data); free(oldlelt->item); free(oldlelt); } } SECItem *seciteml_pop (seciteml_t **list) { seciteml_t *oldlelt; SECItem *item = NULL; if (*list != NULL) { oldlelt = *list; item = oldlelt->item; *list = oldlelt->next; free(oldlelt); } return(item); }