Loading...
Searching...
No Matches
g2ccsv.c File Reference

This file reads the GRIB2 CSV files. More...

`#include "grib2_int.h"`
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`

Go to the source code of this file.

## Functions

int | g2c_csv_init ()
| Initialize tables from "CodeFlag.txt".
static char * | g2c_csv_strsep (char **stringp, const char *delim)
| Implementation of strsep for code portability.
int | g2c_find_desc (char *title, int code, char *desc)
| Given a table title and an integer code, find a description.
int | g2c_find_desc_str (char *title, char *code, char *desc)
| Given a table title and a code, find a description.
G2C_CODE_ENTRY_T * | g2c_find_entry (char *desc, G2C_CODE_TABLE_T *table)
| Find an entry in a table given a description.
G2C_CODE_TABLE_T * | g2c_find_table (char *key)
| Find a table given a key.
void | g2c_free_tables ()
| Free table memory.
void | g2c_print_tables ()
| Print the table data.

## Variables

FILE * | doc
| Contains the parsed CSV document.
G2C_CODE_TABLE_T * | g2c_table = NULL
| Pointer to the list of code tables.

## Detailed Description

This file reads the GRIB2 CSV files.

Author
  Ed Hartnett

Date
  8/25/22

Definition in file g2ccsv.c.

## Function Documentation

## g2c_csv_init()

int g2c_csv_init | ( |  | ) |

Initialize tables from "CodeFlag.txt".

Returns
  - G2C_NOERROR No error.

Author
  Alyson Stahl

Date
  8/2/24

Definition at line 215 of file g2ccsv.c.

References doc, g2c_csv_strsep(), G2C_ECSV, G2C_ENAMETOOLONG, G2C_ENOMEM, g2c_find_table(), G2C_MAX_GRIB_CODE_LEN, G2C_MAX_GRIB_DESC_LEN, G2C_MAX_GRIB_LEVEL_DESC_LEN, G2C_MAX_GRIB_STATUS_LEN, G2C_MAX_GRIB_TITLE_LEN, G2C_NOERROR, and g2c_table.

Referenced by g2c_log_file(), and g2c_log_section1().

## g2c_csv_strsep()

static char * g2c_csv_strsep | ( | char ** | stringp,
|  | const char * | delim
| ) |  |

static

Implementation of strsep for code portability.

Extracts first token in string given a delimiter.

Parameters

  stringp | The address of a pointer to string to be separated. This value is overwritten with the value past the delimiter.
  delim | Characters that delimit the tokens.

Author
  Alyson Stahl

Date
  11/6/24

Returns
  a pointer to the original value of stringp

Definition at line 192 of file g2ccsv.c.

Referenced by g2c_csv_init().

## g2c_find_desc()

int g2c_find_desc | ( | char * | title,
|  | int | code,
|  | char * | desc
| ) |  |

Given a table title and an integer code, find a description.

Parameters

  title | Title of table.
  code | Code to search for as an int.
  desc | Pointer that gets a copy of the description. Must be allocated to G2C_MAX_GRIB_DESC_LEN + 1.

Author
  Ed Hartnett

Date
  8/28/22

Returns
  0 for success, error code otherwise.

Definition at line 131 of file g2ccsv.c.

References g2c_find_desc_str(), and G2C_MAX_GRIB_CODE_LEN.

Referenced by g2c_log_section1().

## g2c_find_desc_str()

int g2c_find_desc_str | ( | char * | title,
|  | char * | code,
|  | char * | desc
| ) |  |

Given a table title and a code, find a description.

Parameters

  title | Title of table.
  code | Code to search for.
  desc | Pointer that gets a copy of the description. Must be allocated to G2C_MAX_GRIB_DESC_LEN + 1.

Author
  Ed Hartnett

Date
  8/28/22

Returns
  0 for success, error code otherwise.

Definition at line 84 of file g2ccsv.c.

References G2C_EINVAL, G2C_ENOTFOUND, G2C_MAX_GRIB_CODE_LEN, G2C_MAX_GRIB_TITLE_LEN, G2C_NOERROR, and g2c_table.

Referenced by g2c_find_desc().

## g2c_find_entry()

G2C_CODE_ENTRY_T * g2c_find_entry | ( | char * | desc,
|  | G2C_CODE_TABLE_T * | table
| ) |  |

Find an entry in a table given a description.

Parameters

  desc | The description of the entry to find.
  table | A pointer to the table to search.

Author
  Ed Hartnett

Date
  8/29/22

Returns
  a pointer to the matching entry, or NULL if not found.

Definition at line 169 of file g2ccsv.c.

References G2C_MAX_GRIB_DESC_LEN.

## g2c_find_table()

G2C_CODE_TABLE_T * g2c_find_table | ( | char * | key | ) |

Find a table given a key.

Parameters

  key | The table title to find.

Author
  Ed Hartnett

Date
  8/28/22

Returns
  a pointer to the matching code table, or NULL if not found.

Definition at line 148 of file g2ccsv.c.

References G2C_MAX_GRIB_TITLE_LEN, and g2c_table.

Referenced by g2c_csv_init().

## g2c_free_tables()

void g2c_free_tables | ( |  | ) |

Free table memory.

Author
  Ed Hartnett

Date
  8/28/22

Definition at line 42 of file g2ccsv.c.

References g2c_table.

Referenced by g2c_log_file().

## g2c_print_tables()

void g2c_print_tables | ( |  | ) |

Print the table data.

Author
  Ed Hartnett

Date
  8/28/22

Definition at line 23 of file g2ccsv.c.

References g2c_table.

## Variable Documentation

## doc

FILE* doc

Contains the parsed CSV document.

Definition at line 13 of file g2ccsv.c.

Referenced by g2c_csv_init().

## g2c_table

G2C_CODE_TABLE_T* g2c_table = NULL

Pointer to the list of code tables.

Definition at line 16 of file g2ccsv.c.

Referenced by g2c_csv_init(), g2c_find_desc_str(), g2c_find_table(), g2c_free_tables(), g2c_log_file(), and g2c_print_tables().