Ignore:
Timestamp:
01/05/09 11:29:11 (12 years ago)
Author:
Perry Lorier <perry@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
ad36006
Parents:
9d0049cf
Message:

Try to autoguess the tracetype if the format uri specify is not present

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/format_legacy.c

    rc66068d r91b72d3  
    6262
    6363#define DATA(x) ((struct legacy_format_data_t *)x->format_data)
    64 #define INPUT DATA(libtrace)->input
    6564
    6665struct legacy_format_data_t {
    67         union {
    68                 int fd;
    69                 io_t *file;
    70         } input;
    7166        time_t starttime;       /* Used for legacy_nzix */
    7267        uint64_t ts_high;       /* Used for legacy_nzix */
     
    7772        libtrace->format_data = malloc(sizeof(struct legacy_format_data_t));
    7873       
    79         DATA(libtrace)->input.file = NULL;
    8074        DATA(libtrace)->ts_high = 0;
    8175        DATA(libtrace)->ts_old = 0;
     
    164158static int erf_start_input(libtrace_t *libtrace)
    165159{
    166         if (DATA(libtrace)->input.file)
     160        if (libtrace->io)
     161                return 0; /* Already open */
     162
     163        libtrace->io = trace_open_file(libtrace);
     164
     165        if (libtrace->io)
    167166                return 0;
    168167
    169         DATA(libtrace)->input.file = trace_open_file(libtrace);
    170 
    171         if (DATA(libtrace)->input.file)
    172                 return 0;
    173 
    174168        return -1;
    175169}
    176170
    177171static int erf_fin_input(libtrace_t *libtrace) {
    178         wandio_destroy(INPUT.file);
     172        wandio_destroy(libtrace->io);
    179173        free(libtrace->format_data);
    180174        return 0;
     
    238232        while (1) {
    239233       
    240                 if ((numbytes=wandio_read(INPUT.file,
     234                if ((numbytes=wandio_read(libtrace->io,
    241235                                                buffer,
    242236                                                (size_t)64)) != 64) {
     
    280274       
    281275        while (1) {
    282                 if ((numbytes = wandio_read(INPUT.file, buffer,
     276                if ((numbytes = wandio_read(libtrace->io, buffer,
    283277                                                (size_t)68)) != 68) {
    284278                        if (numbytes < 0) {
     
    466460        "$Id$",
    467461        TRACE_FORMAT_LEGACY_ATM,
     462        NULL,                           /* probe filename */
     463        NULL,                           /* probe magic */
    468464        erf_init_input,                 /* init_input */       
    469465        NULL,                           /* config_input */
     
    506502        "$Id$",
    507503        TRACE_FORMAT_LEGACY_ETH,
     504        NULL,                           /* probe filename */
     505        NULL,                           /* probe magic */
    508506        erf_init_input,                 /* init_input */       
    509507        NULL,                           /* config_input */
     
    546544        "$Id$",
    547545        TRACE_FORMAT_LEGACY_POS,
     546        NULL,                           /* probe filename */
     547        NULL,                           /* probe magic */
    548548        erf_init_input,                 /* init_input */       
    549549        NULL,                           /* config_input */
     
    586586        "$Id$",
    587587        TRACE_FORMAT_LEGACY_NZIX,
     588        NULL,                           /* probe filename */
     589        NULL,                           /* probe magic */
    588590        legacynzix_init_input,          /* init_input */       
    589591        NULL,                           /* config_input */
Note: See TracChangeset for help on using the changeset viewer.