ForceAnnealing_with_BondGraph_continued_betteresults
Rev | Line | |
---|
[0b990d] | 1 | /*!
|
---|
| 2 | \file tocdel.c
|
---|
| 3 | \ingroup (PSIO)
|
---|
| 4 | */
|
---|
| 5 |
|
---|
| 6 | #include <stdlib.h>
|
---|
| 7 | #include <string.h>
|
---|
| 8 | #include <util/psi3/libpsio/psio.h>
|
---|
| 9 |
|
---|
| 10 | namespace psi3 {
|
---|
| 11 | namespace libpsio {
|
---|
| 12 |
|
---|
| 13 | /*!
|
---|
| 14 | ** PSIO_TOCDEL(): Delete an entry with identifier key from TOC.
|
---|
| 15 | **
|
---|
| 16 | ** \param unit = file number
|
---|
| 17 | ** \param key = entry to delete from TOC
|
---|
| 18 | **
|
---|
| 19 | ** \ingroup (PSIO)
|
---|
| 20 | */
|
---|
| 21 |
|
---|
| 22 | int psio_tocdel(unsigned int unit, char *key)
|
---|
| 23 | {
|
---|
| 24 | psio_tocentry *this_entry, *last_entry, *next_entry;
|
---|
| 25 |
|
---|
| 26 | /* Check the key length first */
|
---|
| 27 | if((strlen(key)+1) > PSIO_KEYLEN) psio_error(unit,PSIO_ERROR_KEYLEN);
|
---|
| 28 |
|
---|
| 29 | this_entry = psio_tocscan(unit, key);
|
---|
| 30 | if(this_entry == NULL) {
|
---|
| 31 | fprintf(stderr, "PSIO_ERROR: Can't find TOC Entry %s\n", key);
|
---|
| 32 | psio_error(unit,PSIO_ERROR_NOTOCENT);
|
---|
| 33 | }
|
---|
| 34 |
|
---|
| 35 | last_entry = this_entry->last;
|
---|
| 36 | if(last_entry != NULL) last_entry->next = this_entry->next;
|
---|
| 37 |
|
---|
| 38 | next_entry = this_entry->next;
|
---|
| 39 | if(next_entry != NULL) next_entry->last = this_entry->last;
|
---|
| 40 |
|
---|
| 41 | free(this_entry);
|
---|
| 42 |
|
---|
| 43 | return(0);
|
---|
| 44 | }
|
---|
| 45 |
|
---|
| 46 | }
|
---|
| 47 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.