diff options
author | Thomas White <taw@physics.org> | 2010-02-05 10:14:09 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2010-02-05 10:14:09 +0100 |
commit | 1374dfa38ef7bdb7c18e92d058f51b3d79895cec (patch) | |
tree | 91d8f70ed0cfd9369905b42032c711b82036719b | |
parent | 96046b5dbb09328b4dac40f363cd8157cf32b4fa (diff) |
Tidy up abort()s
... to avoid the special hell reserved for programmers who do this
kind of thing.
-rw-r--r-- | src/dirax.c | 8 | ||||
-rw-r--r-- | src/sfac.c | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/dirax.c b/src/dirax.c index 9220c8cb..0849d750 100644 --- a/src/dirax.c +++ b/src/dirax.c @@ -264,8 +264,12 @@ static gboolean dirax_readable(GIOChannel *dirax, GIOCondition condition, default : /* Obviously, this never happens :) */ - ERROR("Unrecognised input mode!\n"); - abort(); + ERROR("Unrecognised DirAx input mode! " + "I don't know how to understand DirAx\n"); + waitpid(image->dirax_pid, NULL, 0); + g_io_channel_shutdown(image->dirax, FALSE, NULL); + image->dirax = NULL; + return FALSE; } @@ -71,8 +71,9 @@ static double complex get_f1f2(const char *n, double en) r = sscanf(line, "%f %f %f", &E_f, &f1_f, &f2_f); if ( r != 3 ) { - ERROR("WTF?\n"); - abort(); + STATUS("I couldn't understand a line in the f1f2 " + "tables\n"); + continue; } /* Promote to double precision */ E = E_f; f1 = f1_f; f2 = f2_f; @@ -365,8 +366,8 @@ struct molecule *load_molecule() coords = line + 29; r = sscanf(coords, "%f %f %f %f %f", &xf, &yf, &zf, &occf, &Bf); if ( r != 5 ) { - ERROR("WTF?\n"); - abort(); + STATUS("I didn't understand a line in the PDB file.\n"); + continue; } /* Promote to double precision */ x = xf; y = yf; z = zf; occ = occf; B = Bf; |