IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 33116


Ignore:
Timestamp:
Jan 18, 2012, 8:32:21 AM (15 years ago)
Author:
eugene
Message:

support for reading int and time types in opihi

Location:
branches/eam_branches/ipp-20111122/Ohana/src/libohana
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20111122/Ohana/src/libohana/include/ohana.h

    r32993 r33116  
    238238int     dparse                 PROTO((double *X, int NX, char *line));
    239239int     dparse_csv             PROTO((double *X, int NX, char *line));
     240int     iparse                 PROTO((int *X, int NX, char *line));
    240241int     iparse_csv             PROTO((int *X, int NX, char *line));
     242int     tparse                 PROTO((time_t *X, int NX, char *line));
     243int     tparse_csv             PROTO((time_t *X, int NX, char *line));
    241244int     fparse                 PROTO((float *X, int NX, char *line));
    242245int     get_argument           PROTO((int argc, char **argv, char *arg));
  • branches/eam_branches/ipp-20111122/Ohana/src/libohana/src/string.c

    r32993 r33116  
    205205}
    206206
     207int iparse (int *X, int NX, char *line) {
     208
     209  int i;
     210  char *word;
     211  char *ptr;
     212
     213  word = line;
     214  for (i = 0; i < NX - 1; i++)
     215    word = _parse_nextword (word);
     216
     217  *X = strtol (word, &ptr, 0);
     218  if (ptr == word) return (FALSE);
     219  if (word[0] == '-') return (-1);
     220  return (1);
     221}
     222
    207223int iparse_csv (int *X, int NX, char *line) {
    208224
     
    225241  if (word[0] == '-') return (-1);
    226242  return (1);
     243}
     244
     245int tparse (time_t *X, int NX, char *line) {
     246
     247  int i, status;
     248  char *word;
     249
     250  word = line;
     251  for (i = 0; i < NX - 1; i++)
     252    word = _parse_nextword (word);
     253
     254  status = ohana_str_to_time (word, X);
     255  if (!status) return (FALSE);
     256  return (TRUE);
     257}
     258
     259int tparse_csv (time_t *X, int NX, char *line) {
     260
     261  int i, status;
     262  char *word;
     263
     264  word = line;
     265  for (i = 0; i < NX - 1; i++)
     266    word = _parse_nextword_csv (word);
     267 
     268  if (word[0] == '"') word[0] = ' ';
     269  if (word[0] == ',') {
     270      *X = 0;
     271      return 1;
     272  }
     273
     274  status = ohana_str_to_time (word, X);
     275  if (!status) return (FALSE);
     276  return (TRUE);
    227277}
    228278
Note: See TracChangeset for help on using the changeset viewer.