- Timestamp:
- May 21, 2007, 7:48:06 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/kapa-mods-2007-05/Ohana/src/opihi/dvo/dvofields.c
r13439 r13440 1 2 # define ESCAPE(F,M) { \3 field->fieldNumber = (F); \4 field->magMode = (M); \5 field->photcode = NULL; \6 return (TRUE);7 1 8 2 int GetMagMode (char *string) { … … 20 14 } 21 15 16 PhotCode *ParsePhotcodeField (char *field, int *mode, int default) { 17 18 char *tmpstring, *p; 19 PhotCode *code; 20 21 *mode = default; 22 23 p = strchr (field, ':'); 24 if (p != NULL) { 25 *mode = GetMagMode (p + 1); 26 if (*mode == MAG_NONE) return (NULL); 27 tmpstring = strncreate (field, p - field); 28 } else { 29 tmpstring = strcreate (field); 30 } 31 code = GetPhotcodebyName (tmpstring); 32 free (tmpstring); 33 34 return (code); 35 } 36 37 # define ESCAPE(F,M) { \ 38 field->ID = (F); \ 39 field->magMode = (M); \ 40 field->photcode = NULL; \ 41 return (TRUE); 42 22 43 int ParseMeasureField (dvoField *field, char *fieldName) { 23 44 24 45 PhotCode *code; 46 47 field->table = DVO_TABLE_MEASURE; 48 field->name = strcreate (fieldName); 25 49 26 50 if (!strcasecmp (fieldName, "RA")) ESCAPE (MEAS_RA, MAG_NONE); … … 45 69 46 70 // check for code:mode in photcode name 47 mode = MAG_REL; 48 p = strchr (fieldName, ':'); 49 if (p != NULL) { 50 mode = GetMagMode (p + 1); 51 if (mode == MAG_NONE) return (FALSE); 52 tmpstring = strncreate (fieldName, p - fieldName); 53 } else { 54 tmpstring = strcreate (fieldName); 55 } 56 code = GetPhotcodebyName (tmpstring); 57 free (tmpstring); 58 71 code = ParsePhotcodeField (&mode, MAG_REL); 59 72 if (code == NULL) return (FALSE); 60 73 61 74 if (mode == MAG_ERR) { 62 field-> fieldNumber= MEAS_dMAG;75 field->ID = MEAS_dMAG; 63 76 } else { 64 field-> fieldNumber= MEAS_MAG;77 field->ID = MEAS_MAG; 65 78 } 66 79 80 field->magMode = mode; 67 81 field->photcode = code; 68 82 return (TRUE); … … 72 86 73 87 PhotCode *code; 88 89 field->table = DVO_TABLE_AVERAGE; 74 90 75 91 if (!strcasecmp (fieldName, "RA")) ESCAPE (AVE_RA, MAG_NONE); … … 98 114 99 115 // check for code:mode in photcode name 100 mode = MAG_AVE; 101 p = strchr (fieldName, ':'); 102 if (p != NULL) { 103 mode = GetMagMode (p + 1); 104 if (mode == MAG_NONE) return (FALSE); 105 tmpstring = strncreate (fieldName, p - fieldName); 106 } else { 107 tmpstring = strcreate (fieldName); 108 } 109 code = GetPhotcodebyName (tmpstring); 110 free (tmpstring); 111 116 code = ParsePhotcodeField (&mode, MAG_AVE); 112 117 if (code == NULL) return (FALSE); 113 118 114 119 // need to distinguish phot, sys errors and scatter 115 120 if (mode == MAG_ERR) { 116 field-> fieldNumber= MEAS_dMAG;121 field->ID = MEAS_dMAG; 117 122 } else { 118 field-> fieldNumber= MEAS_MAG;123 field->ID = MEAS_MAG; 119 124 } 120 125 126 field->magMode = mode; 121 127 field->photcode = code; 122 128 return (TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.
