CARS
Defines | Functions

/home/nicola/Dropbox/Progetto SOL/CARS_terfram/src/stringparser.c File Reference

Implementazione delle funzioni definite nell'header file stringparser.h. More...

#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include "stringparser.h"
#include "macros.h"
#include "dgraph.h"

Functions

static bool_t is_double (char *label)
static bool_t is_correct_label (char *label)
bool_t is_correct_labelarray (unsigned int array_size, char **label_array)
 Utilizzo mediante le espressioni regolari.
bool_t str_pars (char *e, char *origin, char *destin, double *km)

Detailed Description

Implementazione delle funzioni definite nell'header file stringparser.h.

Author:
Nicola Corti Si dichiara che il contenuto di questo file e' in ogni sua parte opera originale dell' autore.

Function Documentation

static bool_t is_correct_label ( char *  label) [static]

Funzione static che controlla se una label contiene solo carattere alfanumerici o spazi

Parameters:
[in]labella stringa da controllare
Return values:
TRUEse la stringa e' un double
FALSEaltrimenti

References FALSE, LLABEL, and TRUE.

Referenced by is_correct_labelarray(), and str_pars().

bool_t is_correct_labelarray ( unsigned int  array_size,
char **  label_array 
)

Utilizzo mediante le espressioni regolari.

Se si setta la macro REG_EXPR_MODE, la correttezza di un arco viene effettuata mediante l'esecuzione delle espressioni regolari.

Tale funzione e' inserita solo a scopo didattico, e pertanto se ne sconsiglia l'uso, dato che rende piu' pesante l'elaborazione delle stringhe. verifica se l'array di nody passato, e' un array corretto di etichette

Parameters:
array_sizedimensione dell'array
label_arrayarray di etichette
Return values:
TRUEse l'array e' un array di etichette valide
FALSEse l'array non e' un array di etichette valide

References FALSE, is_correct_label(), and TRUE.

Referenced by new_graph().

static bool_t is_double ( char *  label) [static]

Funzione static che controlla se la stringa passata e' un double

Parameters:
[in]labella stringa da controllare
Return values:
TRUEse la stringa e' un double
FALSEaltrimenti

References FALSE, LKM, and TRUE.

Referenced by str_pars().

bool_t str_pars ( char *  e,
char *  origin,
char *  destin,
double *  km 
)

verifica se la stringa relativa all'arco e' corretta

Parameters:
estringa relativa all'arco, del tipo "PARTENZA:ARRIVO:123.456"
originbuffer dove verra' scritta l'etichetta della citta di partenza
destinbuffer dove verra' scritta l'etichetta della citta di destinazione
kmpuntatore ad una variabile double, dove verra' scritta la distanza
Return values:
TRUEse la stringa e' un arco valido
FALSEse si e' verificato un errore

References FALSE, is_correct_label(), is_double(), LLABEL, MALLOC_ERRNO, and TRUE.

Referenced by add_edge().