AutomationFragmentation_failures
Candidate_v1.6.1
ChemicalSpaceEvaluator
Enhanced_StructuralOptimization_continued
Exclude_Hydrogens_annealWithBondGraph
ForceAnnealing_with_BondGraph
ForceAnnealing_with_BondGraph_contraction-expansion
Gui_displays_atomic_force_velocity
PythonUI_with_named_parameters
StoppableMakroAction
TremoloParser_IncreasedPrecision
Line | |
---|
1 | /*!
|
---|
2 | \file tocclean.c
|
---|
3 | \ingroup (PSIO)
|
---|
4 | */
|
---|
5 |
|
---|
6 | #include <string.h>
|
---|
7 | #include <stdlib.h>
|
---|
8 | #include <util/psi3/libpsio/psio.h>
|
---|
9 |
|
---|
10 | namespace psi3 {
|
---|
11 | namespace libpsio {
|
---|
12 |
|
---|
13 | /*!
|
---|
14 | ** PSIO_TOCCLEAN(): Delete all TOC entries after the given key.
|
---|
15 | ** If a blank key is given, the entire TOC will be wiped.
|
---|
16 | **
|
---|
17 | ** \ingroup (PSIO)
|
---|
18 | */
|
---|
19 |
|
---|
20 | int psio_tocclean(unsigned int unit, char *key)
|
---|
21 | {
|
---|
22 | psio_tocentry *this_entry, *last_entry, *prev_entry;
|
---|
23 |
|
---|
24 | /* Check the key length first */
|
---|
25 | if((strlen(key)+1) > PSIO_KEYLEN) psio_error(unit,PSIO_ERROR_KEYLEN);
|
---|
26 |
|
---|
27 | this_entry = psio_tocscan(unit, key);
|
---|
28 | if(this_entry == NULL) {
|
---|
29 | if(!strcmp(key,"")) this_entry = psio_unit[unit].toc;
|
---|
30 | else {
|
---|
31 | fprintf(stderr, "PSIO_ERROR: Can't find TOC Entry %s\n", key);
|
---|
32 | psio_error(unit,PSIO_ERROR_NOTOCENT);
|
---|
33 | }
|
---|
34 | }
|
---|
35 | else this_entry = this_entry->next;
|
---|
36 |
|
---|
37 | /* Get the end of the TOC and work backwards */
|
---|
38 | last_entry = psio_toclast(unit);
|
---|
39 |
|
---|
40 | while((last_entry != this_entry) && (last_entry != NULL)) {
|
---|
41 | /* Now free all the remaining members */
|
---|
42 | prev_entry = last_entry->last;
|
---|
43 | free(last_entry);
|
---|
44 | last_entry = prev_entry;
|
---|
45 | }
|
---|
46 | return(0);
|
---|
47 | }
|
---|
48 |
|
---|
49 | }
|
---|
50 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.