Graphviz 13.0.0~dev.20241220.2304
|
#include <ast/ast.h>
#include <ast/error.h>
#include <gvpr/actions.h>
#include <gvpr/compile.h>
#include <limits.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <util/agxbuf.h>
#include <util/alloc.h>
#include <util/gv_ctype.h>
#include <util/strcasecmp.h>
#include <util/unreachable.h>
#include <util/unused.h>
#include "../common/colxlate.c"
#include <sys/param.h>
#include <sys/times.h>
#include <sys/types.h>
Go to the source code of this file.
Data Structures | |
struct | edgepair_t |
Macros | |
#define | KINDS(p) ((AGTYPE(p) == AGRAPH) ? "graph" : (AGTYPE(p) == AGNODE) ? "node" : "edge") |
#define | CCMARKED(n) (((nData(n))->iu.integer) & 2) |
#define | CCMARK(n) (((nData(n))->iu.integer) |= 2) |
#define | CCUNMARK(n) (((nData(n))->iu.integer) &= ~2) |
#define | COLORPROCS_API static UNUSED |
#define | HZ 60 |
#define | GET_TIME(S) times(&(S)) |
#define | DIFF_IN_SECS(S, T) ((S.tms_utime + S.tms_stime - T.tms_utime - T.tms_stime) / (double)HZ) |
Typedefs | |
typedef struct tms | mytime_t |
Functions | |
static int | iofread (void *chan, char *buf, int bufsize) |
static int | ioputstr (void *chan, const char *str) |
static int | ioflush (void *chan) |
Agraph_t * | sameG (void *p1, void *p2, char *fn, char *msg) |
int | indexOf (char *s1, char *s2) |
long | rindexOf (char *s1, char *s2) |
size_t | match (char *str, char *pat) |
int | copyAttr (Agobj_t *src, Agobj_t *tgt) |
Agobj_t * | copy (Agraph_t *g, Agobj_t *obj) |
static Agedge_t * | mapEdge (Dt_t *emap, Agedge_t *e) |
static Agraph_t * | cloneSubg (Agraph_t *tgt, Agraph_t *g, Dt_t *emap) |
static int | cmppair (void *k1, void *k2) |
static void | cloneGraph (Agraph_t *tgt, Agraph_t *src) |
Agraph_t * | cloneG (Agraph_t *g, char *name) |
Agobj_t * | cloneO (Agraph_t *g, Agobj_t *obj) |
static void | cc_dfs (Agraph_t *g, Agraph_t *comp, Agnode_t *n) |
Agraph_t * | compOf (Agraph_t *g, Agnode_t *n) |
Agedge_t * | isEdge (Agraph_t *g, Agnode_t *t, Agnode_t *h, char *key) |
Agnode_t * | addNode (Agraph_t *gp, Agnode_t *np, int doAdd) |
Agedge_t * | addEdge (Agraph_t *gp, Agedge_t *ep, int doAdd) |
int | lockGraph (Agraph_t *g, int v) |
int | deleteObj (Agraph_t *g, Agobj_t *obj) |
int | sfioWrite (Agraph_t *g, FILE *fp) |
int | writeFile (Agraph_t *g, char *f) |
Agraph_t * | readFile (char *f) |
int | fwriteFile (Expr_t *ex, Agraph_t *g, long long fd) |
Agraph_t * | freadFile (Expr_t *ex, long long fd) |
int | openFile (Expr_t *ex, const char *fname, const char *mode) |
int | closeFile (Expr_t *ex, long long fd) |
char * | readLine (Expr_t *ex, long long fd) |
int | compare (Agobj_t *l, Agobj_t *r) |
char * | toLower (Expr_t *pgm, char *src) |
char * | toUpper (Expr_t *pgm, char *src) |
char * | toHtml (Agraph_t *g, char *arg) |
char * | canon (Expr_t *pgm, char *arg) |
char * | colorx (Expr_t *ex, const char *incolor, char *fmt) |
void | gvstart_timer (void) |
double | gvelapsed_sec (void) |
Variables | |
static Agiodisc_t | gprIoDisc = {iofread, ioputstr, ioflush} |
static Dtdisc_t | edgepair |
static mytime_t | T |
Definition at line 475 of file actions.c.
References agsubedge(), and sameG().
Definition at line 465 of file actions.c.
References agsubnode(), and sameG().
char * canon | ( | Expr_t * | pgm, |
char * | arg | ||
) |
Definition at line 760 of file actions.c.
References agcanonStr(), and exstring().
Definition at line 405 of file actions.c.
References agfstedge(), aghead, AGID, agidnode(), agnxtedge(), agtail, cc_dfs(), CCMARK, and CCMARKED.
Referenced by cc_dfs(), and compOf().
Definition at line 332 of file actions.c.
References agnameof(), cloneGraph(), copyAttr(), Agraph_s::desc, and openG().
Referenced by getval().
Definition at line 284 of file actions.c.
References agfstnode(), agfstout(), agfstsubg(), aghead, AGMKOUT, agnameof(), agnedges(), agnxtnode(), agnxtout(), agnxtsubg(), agtail, cloneSubg(), copy(), dtclose(), dtinsert, dtopen(), Dtoset, edgepair, exerror(), free(), gv_calloc(), edgepair_t::key, OBJ, and edgepair_t::val.
Referenced by cloneG(), and cloneO().
Definition at line 353 of file actions.c.
References aghead, AGINEDGE, AGMKOUT, agnameof(), AGNODE, AGOUTEDGE, AGRAPH, agtail, AGTYPE, cloneGraph(), cloneO(), copyAttr(), exerror(), OBJ, openEdge(), openG(), openNode(), openSubg(), and UNREACHABLE.
Referenced by addOutputGraph(), cloneO(), getval(), and gvpr_core().
Definition at line 215 of file actions.c.
References agfstnode(), agfstout(), agfstsubg(), aghead, AGMKOUT, agnameof(), agnode(), agnxtnode(), agnxtout(), agnxtsubg(), agsubedge(), agsubnode(), agtail, cloneSubg(), copy(), exerror(), mapEdge(), and OBJ.
Referenced by cloneGraph(), and cloneSubg().
int closeFile | ( | Expr_t * | ex, |
long long | fd | ||
) |
Definition at line 638 of file actions.c.
References elementsof, exerror(), and Expr_s::file.
Referenced by getval().
char * colorx | ( | Expr_t * | ex, |
const char * | incolor, | ||
char * | fmt | ||
) |
Definition at line 789 of file actions.c.
References agxbfree(), agxbprint(), agxbuse(), alpha, color(), COLOR_OK, colorxlate(), exstring(), HSVA_DOUBLE, RGBA_BYTE, type, and agxbuf::u.
Referenced by getval().
Definition at line 424 of file actions.c.
References agfstnode(), AGID, agidnode(), agnxtnode(), cc_dfs(), CCUNMARK, cg(), id, and openSubg().
Referenced by getval().
Definition at line 156 of file actions.c.
References aghead, AGINEDGE, AGMKOUT, agnameof(), AGNODE, AGOUTEDGE, AGRAPH, agtail, AGTYPE, copyAttr(), exerror(), openEdge(), openG(), openNode(), openSubg(), and UNREACHABLE.
Referenced by cloneGraph(), cloneSubg(), getval(), gv_strdup(), gv_strndup(), prformat(), push(), and SWIG_Guile_NewMemberObj().
Definition at line 122 of file actions.c.
References agattr(), agattrsym(), aghtmlstr(), agnxtattr(), agraphof(), agstrdup_html(), agstrfree(), AGTYPE, agxget(), agxset(), Agsym_s::defval, and Agsym_s::name.
Referenced by cloneG(), cloneO(), and copy().
Definition at line 518 of file actions.c.
References agclose(), agdelete(), agnameof(), AGRAPH, agraphof(), agroot(), AGTYPE, error, ERROR_WARNING, and gData.
Referenced by getval().
Definition at line 610 of file actions.c.
References elementsof, exerror(), Expr_s::file, and readG().
Referenced by getval().
Definition at line 600 of file actions.c.
References elementsof, exerror(), Expr_s::file, and sfioWrite().
Referenced by getval().
double gvelapsed_sec | ( | void | ) |
Definition at line 869 of file actions.c.
References DIFF_IN_SECS, GET_TIME, S, and T.
Referenced by gvpr_core().
void gvstart_timer | ( | void | ) |
Definition at line 867 of file actions.c.
Referenced by gvpr_core().
int indexOf | ( | char * | s1, |
char * | s2 | ||
) |
|
static |
|
static |
int lockGraph | ( | Agraph_t * | g, |
int | v | ||
) |
Definition at line 204 of file actions.c.
References dtmatch, NULL, and edgepair_t::val.
Referenced by cloneSubg().
size_t match | ( | char * | str, |
char * | pat | ||
) |
Definition at line 106 of file actions.c.
References SIZE_MAX, str, strgrpmatch(), and sub.
Referenced by getval(), strgrpmatch(), and svg_size().
int openFile | ( | Expr_t * | ex, |
const char * | fname, | ||
const char * | mode | ||
) |
Definition at line 620 of file actions.c.
References elementsof, exerror(), Expr_s::file, and fname.
Agraph_t * readFile | ( | char * | f | ) |
char * readLine | ( | Expr_t * | ex, |
long long | fd | ||
) |
Definition at line 663 of file actions.c.
References agxbfree(), agxbputc(), agxbuse(), elementsof, exerror(), exstring(), and Expr_s::file.
Referenced by getval().
long rindexOf | ( | char * | s1, |
char * | s2 | ||
) |
Agraph_t * sameG | ( | void * | p1, |
void * | p2, | ||
char * | fn, | ||
char * | msg | ||
) |
Definition at line 52 of file actions.c.
References agraphof(), agroot(), error, ERROR_WARNING, KINDS, and OBJ.
Referenced by addEdge(), addNode(), isEdge(), and openEdge().
int sfioWrite | ( | Agraph_t * | g, |
FILE * | fp | ||
) |
Definition at line 547 of file actions.c.
References agwrite(), Agraph_s::clos, Agclos_s::disc, gprIoDisc, and Agdisc_s::io.
Referenced by fwriteFile(), getval(), gvpr_core(), and writeFile().
char * toHtml | ( | Agraph_t * | g, |
char * | arg | ||
) |
Definition at line 755 of file actions.c.
References agstrdup_html().
Referenced by getval().
char * toLower | ( | Expr_t * | pgm, |
char * | src | ||
) |
Definition at line 717 of file actions.c.
References exstralloc(), gv_tolower(), len(), and NULL.
Referenced by getval().
char * toUpper | ( | Expr_t * | pgm, |
char * | src | ||
) |
Definition at line 736 of file actions.c.
References exstralloc(), gv_toupper(), len(), and NULL.
Referenced by getval().
int writeFile | ( | Agraph_t * | g, |
char * | f | ||
) |
|
static |
Definition at line 274 of file actions.c.
Referenced by cloneGraph().
|
static |
Definition at line 46 of file actions.c.
Referenced by sfioWrite().
|
static |
Definition at line 865 of file actions.c.
Referenced by gvelapsed_sec(), and gvstart_timer().