diff --git a/c/input/lrec_reader_stdio_csv.c b/c/input/lrec_reader_stdio_csv.c index 3d36a9138..d133e0272 100644 --- a/c/input/lrec_reader_stdio_csv.c +++ b/c/input/lrec_reader_stdio_csv.c @@ -329,21 +329,25 @@ static int lrec_reader_stdio_csv_get_fields(lrec_reader_stdio_csv_state_t* pstat } // ---------------------------------------------------------------- -static lrec_t* paste_indices_and_data(lrec_reader_stdio_csv_state_t* pstate, rslls_t* pdata_fields, context_t* pctx) { +static lrec_t* paste_indices_and_data(lrec_reader_stdio_csv_state_t* pstate, rslls_t* pdata_fields, + context_t* pctx) +{ int idx = 0; lrec_t* prec = lrec_unbacked_alloc(); for (rsllse_t* pd = pdata_fields->phead; pd != NULL; pd = pd->pnext) { char free_flags = pd->free_flag; idx++; char* key = make_nidx_key(idx, &free_flags); - lrec_put(prec, key, mlr_strdup_or_die(pd->value), free_flags); + lrec_put(prec, key, pd->value, free_flags); pd->free_flag = 0; } return prec; } // ---------------------------------------------------------------- -static lrec_t* paste_header_and_data(lrec_reader_stdio_csv_state_t* pstate, rslls_t* pdata_fields, context_t* pctx) { +static lrec_t* paste_header_and_data(lrec_reader_stdio_csv_state_t* pstate, rslls_t* pdata_fields, + context_t* pctx) +{ if (pstate->pheader_keeper->pkeys->length != pdata_fields->length) { fprintf(stderr, "%s: Header/data length mismatch (%d != %d) at file \"%s\" line %lld.\n", MLR_GLOBALS.argv0, pstate->pheader_keeper->pkeys->length, pdata_fields->length, @@ -354,7 +358,7 @@ static lrec_t* paste_header_and_data(lrec_reader_stdio_csv_state_t* pstate, rsll sllse_t* ph = pstate->pheader_keeper->pkeys->phead; rsllse_t* pd = pdata_fields->phead; for ( ; ph != NULL && pd != NULL; ph = ph->pnext, pd = pd->pnext) { - lrec_put(prec, ph->value, mlr_strdup_or_die(pd->value), pd->free_flag); + lrec_put(prec, ph->value, pd->value, pd->free_flag); pd->free_flag = 0; } return prec; diff --git a/c/lib/mlrutil.c b/c/lib/mlrutil.c index fd7277707..8f1a3a3ce 100644 --- a/c/lib/mlrutil.c +++ b/c/lib/mlrutil.c @@ -62,7 +62,9 @@ void* mlr_malloc_or_die(size_t size) { fprintf(stderr, "malloc(%lu) failed.\n", (unsigned long)size); exit(1); } - //fprintf(stderr, "MALLOC size=%d,p=%p\n", (int)size, p); +#ifdef MLR_MALLOC_TRACE + fprintf(stderr, "MALLOC size=%d,p=%p\n", (int)size, p); +#endif return p; } @@ -73,7 +75,9 @@ void* mlr_realloc_or_die(void *optr, size_t size) { fprintf(stderr, "realloc(%lu) failed.\n", (unsigned long)size); exit(1); } - //fprintf(stderr, "REALLOC size=%d,p=%p\n", (int)size, nptr); +#ifdef MLR_MALLOC_TRACE + fprintf(stderr, "REALLOC size=%d,p=%p\n", (int)size, nptr); +#endif return nptr; } diff --git a/c/lib/mlrutil.h b/c/lib/mlrutil.h index 6560f199e..31fc2fefa 100644 --- a/c/lib/mlrutil.h +++ b/c/lib/mlrutil.h @@ -12,6 +12,8 @@ #define FALSE 0 #define NEITHER_TRUE_NOR_FALSE -1 +//#define MLR_MALLOC_TRACE + // ---------------------------------------------------------------- //int mlr_canonical_mod(int a, int n); static inline int mlr_canonical_mod(int a, int n) { @@ -76,7 +78,9 @@ static inline char * mlr_strdup_or_die(const char *s1) { fprintf(stderr, "malloc/strdup failed\n"); exit(1); } - //fprintf(stderr, "STRDUP size=%d,p=%p\n", (int)strlen(s2), s2); +#ifdef MLR_MALLOC_TRACE + fprintf(stderr, "STRDUP size=%d,p=%p\n", (int)strlen(s2), s2); +#endif return s2; }