IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39331


Ignore:
Timestamp:
Feb 4, 2016, 5:09:29 PM (10 years ago)
Author:
eugene
Message:

handle compressed tables; avoid sprintf overload errors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/tools/src/ftable.c

    r37041 r39331  
    497497
    498498  int i, Nfields;
    499   char field[16], type[80], comment[80], format[80], unit[80], null[80], nval[80];
     499  char field[32], type[80], comment[80], format[80], unit[80], null[80], nval[80];
    500500
    501501  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    502502
     503  int isCompressed = gfits_extension_is_compressed_table (header);
     504
    503505  for (i = 1; i <= Nfields; i++) {
    504     sprintf (field, "TTYPE%d", i);
     506    memset (field,   0, 32);
     507    memset (type,    0, 80);
     508    memset (comment, 0, 80);
     509    memset (format,  0, 80);
     510    memset (unit,    0, 80);
     511    memset (null,    0, 80);
     512    memset (nval,    0, 80);
     513
     514    snprintf (field, 32, "TTYPE%d", i);
    505515    gfits_scan (header, field, "%s", 1, type);
    506516    gfits_scan_alt (header, field, "%C", 1, comment);
    507     sprintf (field, "TFORM%d", i);
     517
     518    if (!isCompressed) {
     519      snprintf (field, 32, "TFORM%d", i);
     520    } else {
     521      snprintf (field, 32, "ZFORM%d", i);
     522    }
    508523    gfits_scan (header, field, "%s", 1, format);
    509     sprintf (field, "TUNIT%d", i);
     524
     525    snprintf (field, 32, "TUNIT%d", i);
    510526    gfits_scan (header, field, "%s", 1, unit);
    511     sprintf (field, "TNULL%d", i);
     527    snprintf (field, 32, "TNULL%d", i);
    512528    if (!gfits_scan (header, field, "%s", 1, null)) strcpy (null, "none");
    513     sprintf (field, "TNVAL%d", i);
     529    snprintf (field, 32, "TNVAL%d", i);
    514530    if (!gfits_scan (header, field, "%s", 1, nval)) strcpy (nval, "none");
    515531
Note: See TracChangeset for help on using the changeset viewer.