source: src/lib/util/psi3/libpsio/tocdel.cc@ f27baf

Last change on this file since f27baf was 5d30c1, checked in by Frederik Heber <heber@…>, 13 years ago

Initial commit based on 3.0.0alpha (here claimed as 2.4).

  • simply added all files.
  • Property mode set to 100644
File size: 958 bytes
Line 
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
10namespace psi3 {
11namespace 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
22int 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.