Changeset 14191
- Timestamp:
- Jul 12, 2007, 5:17:43 PM (19 years ago)
- Location:
- trunk/Ohana/src/opihi
- Files:
-
- 7 edited
-
dvo/avextract.c (modified) (4 diffs)
-
dvo/dbCmdlineFields.c (modified) (1 diff)
-
dvo/dbExtractMeasures.c (modified) (1 diff)
-
dvo/dbFields.c (modified) (5 diffs)
-
dvo/dbStackOps.c (modified) (1 diff)
-
dvo/mextract.c (modified) (4 diffs)
-
include/dvoshell.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/dvo/avextract.c
r13539 r14191 13 13 PhotCode *code; 14 14 Vector **vec; 15 16 15 dbField *fields; 17 16 dbStack *stack; … … 23 22 code = NULL; 24 23 mode = MAG_AVE; 24 fields = NULL; 25 stack = NULL; 26 25 27 dvo_catalog_init (&catalog, TRUE); 26 28 … … 108 110 } 109 111 110 // XXX free fields and stack111 112 dbFreeFields (fields, Nfields); 113 dbFreeStack (stack, Nstack); 112 114 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 113 115 return (TRUE); … … 118 120 119 121 escape: 122 dbFreeFields (fields, Nfields); 123 dbFreeStack (stack, Nstack); 120 124 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 121 125 dvo_catalog_free (&catalog); -
trunk/Ohana/src/opihi/dvo/dbCmdlineFields.c
r13479 r14191 39 39 gprint (GP_ERR, "unknown database field %s\n", field); 40 40 free (field); 41 for (j = 0; j <= Nfields; j++) { 42 if (fields->name != NULL) free (fields->name); 43 } 44 free (fields); 41 dbFreeFields (fields, Nfields); 45 42 return (NULL); 46 43 } -
trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c
r13479 r14191 22 22 23 23 switch (field->ID) { 24 // XXX not sure how to apply the photcode here....25 24 case MEAS_MAG: /* magnitudes are already determined above */ 25 // if user has requested a photcode, supply the value only if we match (else NO_MAG) 26 if ((field->photcode->type != PHOT_MAG) && 27 (measure[0].photcode != field->photcode->code)) { 28 break; 29 } 26 30 switch (field->magMode) { 27 31 case MAG_INST: -
trunk/Ohana/src/opihi/dvo/dbFields.c
r13479 r14191 1 1 # include "dvoshell.h" 2 2 3 dbInitField (dbField *field) { 3 void dbFreeFields (dbField *fields, int Nfields) { 4 5 int i; 6 7 if (fields == NULL) return; 8 9 for (i = 0; i <= Nfields; i++) { 10 if (fields[i].name != NULL) free (fields[i].name); 11 if (fields[i].photcode != NULL) { 12 if (fields[i].photcode[0].type == PHOT_MAG) { 13 free (fields[i].photcode); 14 } 15 } 16 } 17 free (fields); 18 } 19 20 void dbInitField (dbField *field) { 4 21 field->name = NULL; 5 22 field->extract = FALSE; … … 26 43 PhotCode *ParsePhotcodeField (char *field, int *mode, int defMode) { 27 44 45 int useDefault; 28 46 char *tmpstring, *p; 29 47 PhotCode *code; 30 48 31 49 *mode = defMode; 50 useDefault = TRUE; 32 51 33 52 p = strchr (field, ':'); 34 53 if (p != NULL) { 35 54 *mode = GetMagMode (p + 1); 55 useDefault = FALSE; 36 56 if (*mode == MAG_NONE) return (NULL); 37 57 tmpstring = strncreate (field, p - field); … … 39 59 tmpstring = strcreate (field); 40 60 } 61 if (!strcasecmp (tmpstring, "MAG")) { 62 ALLOCATE (code, PhotCode, 1); 63 code[0].code = 0; 64 strcpy (code[0].name, "MAG"); 65 code[0].type = PHOT_MAG; 66 free (tmpstring); 67 return (code); 68 } 41 69 code = GetPhotcodebyName (tmpstring); 70 71 // enforce compatibility 72 // XXX this is kind of poorly done 73 if ((code[0].type == PHOT_REF) && (*mode != MAG_ERR)) { 74 *mode = MAG_CAT; 75 } 76 if (code[0].type == PHOT_DEP) { 77 if (useDefault) { 78 *mode = MAG_REL; 79 } else { 80 if ((*mode == MAG_AVE) || (*mode == MAG_REF)) { 81 // XXX error; 82 *mode = MAG_REL; 83 } 84 } 85 } 42 86 free (tmpstring); 43 44 87 return (code); 45 88 } … … 112 155 if (!strcasecmp (fieldName, "PAR")) ESCAPE (AVE_PAR, MAG_NONE); 113 156 if (!strcasecmp (fieldName, "dPAR")) ESCAPE (AVE_PAR_ERR, MAG_NONE); 114 if (!strcasecmp (fieldName, "MAG")) ESCAPE (AVE_MAG, MAG_AVE);115 if (!strcasecmp (fieldName, "dMAG")) ESCAPE (AVE_dMAG, MAG_ERR);157 // if (!strcasecmp (fieldName, "MAG")) ESCAPE (AVE_MAG, MAG_AVE); 158 // if (!strcasecmp (fieldName, "dMAG")) ESCAPE (AVE_dMAG, MAG_ERR); 116 159 if (!strcasecmp (fieldName, "NMEAS")) ESCAPE (AVE_NMEAS, MAG_NONE); 117 160 if (!strcasecmp (fieldName, "NMISS")) ESCAPE (AVE_NMISS, MAG_NONE); … … 129 172 code = ParsePhotcodeField (fieldName, &mode, MAG_AVE); 130 173 if (code == NULL) return (FALSE); 174 if (code[0].type == PHOT_MAG) { 175 gprint (GP_ERR, "'mag' is ambiguous for avextract\n"); 176 free (code); 177 return (FALSE); 178 } 131 179 132 180 // need to distinguish phot, sys errors and scatter -
trunk/Ohana/src/opihi/dvo/dbStackOps.c
r13479 r14191 10 10 11 11 int i; 12 13 if (stack == NULL) return; 12 14 13 15 for (i = 0; i < Nstack; i++) { -
trunk/Ohana/src/opihi/dvo/mextract.c
r13884 r14191 14 14 PhotCode *code; 15 15 Vector **vec; 16 17 16 dbField *fields; 18 17 dbStack *stack; … … 24 23 code = NULL; 25 24 mode = MAG_REL; 25 fields = NULL; 26 stack = NULL; 27 26 28 dvo_catalog_init (&catalog, TRUE); 27 29 … … 120 122 } 121 123 122 // XXX free fields and stack123 124 dbFreeFields (fields, Nfields); 125 dbFreeStack (stack, Nstack); 124 126 FreeImageSelection (); 125 127 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); … … 134 136 135 137 escape: 138 dbFreeFields (fields, Nfields); 139 dbFreeStack (stack, Nstack); 136 140 FreeImageSelection (); 137 141 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); -
trunk/Ohana/src/opihi/include/dvoshell.h
r13479 r14191 137 137 void dbExtractMeasuresInit PROTO(()); 138 138 139 void dbInitField PROTO((dbField *field)); 140 void dbFreeFields PROTO((dbField *fields, int Nfields)); 141 139 142 # endif
Note:
See TracChangeset
for help on using the changeset viewer.
