Changeset 352


Ignore:
Timestamp:
28.03.2011 10:49:42 (8 years ago)
Author:
marcus
Message:

r189 | klaus | 2011-03-25 18:54:37 +0100 (Fr, 25 Mär 2011) | 1 line

find blockette 1000 within multipleblockettes

Location:
SH_SHM/trunk/source/seed_io
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • SH_SHM/trunk/source/seed_io/seed_lib.c

    r341 r352  
    33 *      ========== 
    44 * 
    5  * $Revision: 180 $, $Date: 2011-03-09 16:27:03 +0100 (Mi, 09 MÀr 2011) $ 
     5 * $Revision: 189 $, $Date: 2011-03-25 18:54:37 +0100 (Fr, 25 MÀr 2011) $ 
    66 * 
    77 * SEED library 
     
    33163316        UWORD    *uw;           /* pointer to UWORD */ 
    33173317        char     *cp;           /* pointer to char */ 
     3318    int      offset;        /* offset from record start */ 
     3319    WORD     *next;         /* next blockette */ 
     3320    int      blkcnt;        /* blockette counter */ 
    33183321 
    33193322        /* executable code */ 
     
    33283331                return 0; 
    33293332        } /*endif*/ 
    3330         if  (b1000)  { 
    3331                 uw = (UWORD *)((char *)rec + (int)(rec->first)); 
    3332                 if  (*uw != 1000 && *uw != 59395)  b1000 = FALSE; 
    3333         } /*endif*/ 
    33343333        if  (!b1000)  return 0; 
    3335  
    3336         cp = (char *)rec + (int)(rec->first) + 4; 
     3334    b1000 = FALSE; 
     3335    offset = (int)(rec->first); 
     3336    blkcnt = 0; 
     3337        while  (!b1000)  { 
     3338                uw = (UWORD *)((char *)rec + offset); 
     3339                if  (*uw == 1000 || *uw == 59395)  { 
     3340            b1000 = TRUE; 
     3341            break; 
     3342        } /*endif*/ 
     3343        next = (WORD *)((char *)rec + offset + 2); 
     3344        if  ((int)(*next) <= offset || (int)(*next) > 4096)  break; 
     3345        offset = (int)(*next); 
     3346        blkcnt++; 
     3347        if  (blkcnt >= rec->no_of_blockettes)  break; 
     3348        } /*endwhile*/ 
     3349        if  (!b1000)  return 0; 
     3350 
     3351        cp = (char *)rec + offset + 4; 
    33373352        return (int)(*cp); 
    33383353 
  • SH_SHM/trunk/source/seed_io/seedquickdump.c

    r341 r352  
    33 *      =============== 
    44 * 
    5  * $Revision: 180 $, $Date: 2011-03-09 16:27:03 +0100 (Mi, 09 MÀr 2011) $ 
     5 * $Revision: 189 $, $Date: 2011-03-25 18:54:37 +0100 (Fr, 25 MÀr 2011) $ 
    66 * 
    77 * Dumps out Headerinfo of SEED files. 
     
    8383        int      jitter_count=0;            /* counts very small 'gaps' (<dt/2) */ 
    8484        BOOLEAN  write_newline;             /* write a new line after record */ 
     85    int      compression;               /* compression ID of record data */ 
    8586 
    8687        /* executable code */ 
     
    238239                        gaplth = tc_tdiff( sfd_t_start, lasttime, &status ); 
    239240 
     241        compression = SeedGetCompression( (SeedDataHeaderT *)seedrec ); 
    240242                b1000found = FALSE; 
    241243                time_quality = -1; 
     
    305307                        } else if  (strcmp(showinfo,"b1000") == 0)  { 
    306308                                printf( "%d ", b1000found ); 
     309                        } else if  (strcmp(showinfo,"compression") == 0)  { 
     310                printf( "%d ", compression ); 
    307311                        } else { 
    308312                                write_newline = FALSE; 
Note: See TracChangeset for help on using the changeset viewer.