This removes 92 -Wmissing-prototypes warnings on GCC 8.3.
return n;
}
-Agnode_t *agfindnode_by_name(Agraph_t * g, char *name)
+static Agnode_t *agfindnode_by_name(Agraph_t * g, char *name)
{
unsigned long id;
return TRUE;
}
-int node_in_subg(Agraph_t * g, Agnode_t * n)
+static int node_in_subg(Agraph_t * g, Agnode_t * n)
{
Agraph_t *subg;
}
/* edge comparison. AGTYPE(e) == 0 means ID is a wildcard. */
-int agedgeidcmpf(Dict_t * d, void *arg_e0, void *arg_e1, Dtdisc_t * disc)
+static int agedgeidcmpf(Dict_t * d, void *arg_e0, void *arg_e1, Dtdisc_t * disc)
{
Agedge_t *e0, *e1;
}
/* edge comparison. for ordered traversal. */
-int agedgeseqcmpf(Dict_t * d, void *arg_e0, void *arg_e1, Dtdisc_t * disc)
+static int agedgeseqcmpf(Dict_t * d, void *arg_e0, void *arg_e1, Dtdisc_t * disc)
{
Agedge_t *e0, *e1;
return rv;
}
-int agraphidcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc)
+static int agraphidcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc)
{
ptrdiff_t v;
Agraph_t *sg0, *sg1;
static Agiodisc_t memIoDisc = {memiofread, 0, 0};
-Agraph_t *agmemread0(Agraph_t *arg_g, const char *cp)
+static Agraph_t *agmemread0(Agraph_t *arg_g, const char *cp)
{
Agraph_t* g;
rdr_t rdr;
return sn ? sn->node : NILnode;
}
-Agnode_t *agfindnode_by_name(Agraph_t * g, char *name)
+static Agnode_t *agfindnode_by_name(Agraph_t * g, char *name)
{
IDTYPE id;
return n;
}
-int agsubnodeidcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc)
+static int agsubnodeidcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc)
{
Agsubnode_t *sn0, *sn1;
return 0;
}
-int agsubnodeseqcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc)
+static int agsubnodeseqcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc)
{
Agsubnode_t *sn0, *sn1;
NIL(Dtevent_f)
};
-void agnodesetfinger(Agraph_t * g, Agnode_t * n, void *ignored)
+static void agnodesetfinger(Agraph_t * g, Agnode_t * n, void *ignored)
{
static Agsubnode_t template;
template.node = n;
NOTUSED(ignored);
}
-void agnoderenew(Agraph_t * g, Agnode_t * n, void *ignored)
+static void agnoderenew(Agraph_t * g, Agnode_t * n, void *ignored)
{
dtrenew(g->n_seq, dtfinger(g->n_seq));
NOTUSED(n);
return TRUE;
}
-int node_in_subg(Agraph_t * g, Agnode_t * n)
+static int node_in_subg(Agraph_t * g, Agnode_t * n)
{
Agraph_t *subg;
* Each component has its blocks as subgraphs.
* FIX: Check that blocks are disjoint.
*/
-Agraph_t **circomps(Agraph_t * g, int *cnt)
+static Agraph_t **circomps(Agraph_t * g, int *cnt)
{
int c_cnt;
Agraph_t **ccs;
free(t);
}
-void free_html_img(htmlimg_t * ip)
+static void free_html_img(htmlimg_t * ip)
{
free(ip->src);
free(ip);
* A cell spanning columns contributes proportionately to each column
* it is in.
*/
-void sizeLinearArray(htmltbl_t * tbl)
+static void sizeLinearArray(htmltbl_t * tbl)
{
htmlcell_t *cp;
htmlcell_t **cells;
/* nToName:
* Convert int to its decimal string representation.
*/
-char *nToName(int c)
+static char *nToName(int c)
{
static char name[100];
* Ditto for rows.
*
*/
-void makeGraphs(htmltbl_t * tbl, graph_t * rowg, graph_t * colg)
+static void makeGraphs(htmltbl_t * tbl, graph_t * rowg, graph_t * colg)
{
htmlcell_t *cp;
htmlcell_t **cells;
* give the coordinate, so to get the width/height, we have
* to subtract the previous value.
*/
-void setSizes(htmltbl_t * tbl, graph_t * rowg, graph_t * colg)
+static void setSizes(htmltbl_t * tbl, graph_t * rowg, graph_t * colg)
{
int i;
node_t *n;
* a dag on a chain. We then run network simplex, using
* LR_balance.
*/
-void sizeArray(htmltbl_t * tbl)
+static void sizeArray(htmltbl_t * tbl)
{
graph_t *rowg;
graph_t *colg;
* attach and install edges between clusters.
* essentially, class2() for interclust edges.
*/
-void interclexp(graph_t * subg)
+static void interclexp(graph_t * subg)
{
graph_t *g;
node_t *n;
GD_nlist(g) = ND_next(n);
}
-node_t *named_virtual_node(graph_t * g, char *s)
+static node_t *named_virtual_node(graph_t * g, char *s)
{
node_t *n;
GlobalMaxRank = GD_maxrank(g);
}
-void flat_rev(Agraph_t * g, Agedge_t * e)
+static void flat_rev(Agraph_t * g, Agedge_t * e)
{
int j;
Agedge_t *rev;
return sqrt(d);
}
-real point_line_distance(real *p, real *q, real *r){
+static real point_line_distance(real *p, real *q, real *r){
/* distance between point p and line q--r */
enum {dim = 2};
real t = 0, b = 0;
* break string into possibly empty fields and store in array
* return number of fields
*/
-Extype_t
+static Extype_t
exsplit(Expr_t * ex, register Exnode_t * expr, void *env)
{
Extype_t v;
* tokenize string and store in array
* return number of tokens
*/
-Extype_t
+static Extype_t
extokens(Expr_t * ex, register Exnode_t * expr, void *env)
{
Extype_t v;
/* exsub:
* return string after pattern substitution
*/
-Extype_t
+static Extype_t
exsub(Expr_t * ex, register Exnode_t * expr, void *env, int global)
{
char *str;
* push character back onto stream;
* if newline, reduce lineno.
*/
-void unreadc(Sfio_t * str, int c)
+static void unreadc(Sfio_t * str, int c)
{
sfungetc(str, c);
if (c == '\n')
* determine the order(depth) of the hilbert sfc so that we satisfy the
* precondition of hd_hil_s_from_xy()
*/
-unsigned int xlhorder(XLabels_t * xlp)
+static unsigned int xlhorder(XLabels_t * xlp)
{
double maxx = xlp->params->bb.UR.x, maxy = xlp->params->bb.UR.y;
return floorLog2(maxx > maxy ? maxx : maxy) + 1;
}
-void NodeDest(void* a) {
+static void NodeDest(void* a) {
/* free((int*)a);*/
}
-int NodeComp(const void* a,const void* b) {
+static int NodeComp(const void* a,const void* b) {
return comp_scan_points(a,b);
}
-void NodePrint(const void* a) {
+static void NodePrint(const void* a) {
scan_point *aa;
aa = (scan_point *) a;
}
-void InfoPrint(void* a) {
+static void InfoPrint(void* a) {
;
}
-void InfoDest(void *a){
+static void InfoDest(void *a){
;
}
#include <stdlib.h>
-float calculate_stress(float *pos, term_sgd *terms, int n_terms) {
+static float calculate_stress(float *pos, term_sgd *terms, int n_terms) {
float stress = 0;
int ij;
for (ij=0; ij<n_terms; ij++) {
}
// graph_sgd data structure exists only to make dijkstras faster
-graph_sgd * extract_adjacency(graph_t *G, int model) {
+static graph_sgd * extract_adjacency(graph_t *G, int model) {
node_t *np;
edge_t *ep;
int n_nodes = 0, n_edges = 0;
}
return graph;
}
-void free_adjacency(graph_sgd *graph) {
+static void free_adjacency(graph_sgd *graph) {
free(graph->sources);
free(graph->pinneds);
free(graph->targets);
MaxIter, agnameof(G));
}
-void update_arrays(graph_t * G, int nG, int i)
+static void update_arrays(graph_t * G, int nG, int i)
{
int j, k;
double del[MAXDIM], dist, old;
* with both endpoints in g.
* Returns the number of edges added.
*/
-int node_induce(Agraph_t * g, Agraph_t* eg)
+static int node_induce(Agraph_t * g, Agraph_t* eg)
{
Agnode_t *n;
Agedge_t *e;
* Mark cells crossed by line from cell p to cell q.
* Bresenham's algorithm, from Graphics Gems I, pp. 99-100.
*/
-/* static */
-void fillLine(pointf p, pointf q, PointSet * ps)
+static void fillLine(pointf p, pointf q, PointSet * ps)
{
int x1 = ROUND(p.x);
int y1 = ROUND(p.y);
* This implementation only uses the lower left triangle of the
* adjacency matrix, i.e., the values a[i][j] where i >= j.
*/
-int *shortestPath(int root, int target, int V, array2 wadj)
+static int *shortestPath(int root, int target, int V, array2 wadj)
{
int *dad;
COORD *vl;
/* inBetween:
* Return true if c is in (a,b), assuming a,b,c are collinear.
*/
-int inBetween(Ppoint_t a, Ppoint_t b, Ppoint_t c)
+static int inBetween(Ppoint_t a, Ppoint_t b, Ppoint_t c)
{
if (a.x != b.x) /* not vertical */
return (((a.x < c.x) && (c.x < b.x))
/* accordingly. */
/***********************************************************************/
-void LeftRotate(rb_red_blk_tree* tree, rb_red_blk_node* x) {
+static void LeftRotate(rb_red_blk_tree* tree, rb_red_blk_node* x) {
rb_red_blk_node* y;
rb_red_blk_node* nil=tree->nil;
/* accordingly. */
/***********************************************************************/
-void RightRotate(rb_red_blk_tree* tree, rb_red_blk_node* y) {
+static void RightRotate(rb_red_blk_tree* tree, rb_red_blk_node* y) {
rb_red_blk_node* x;
rb_red_blk_node* nil=tree->nil;
/* by the RBTreeInsert function and not by the user */
/***********************************************************************/
-void TreeInsertHelp(rb_red_blk_tree* tree, rb_red_blk_node* z) {
+static void TreeInsertHelp(rb_red_blk_tree* tree, rb_red_blk_node* z) {
/* This function should only be called by InsertRBTree (see above) */
rb_red_blk_node* x;
rb_red_blk_node* y;
/* Note: This function should only be called from RBTreePrint */
/***********************************************************************/
-void InorderTreePrint(rb_red_blk_tree* tree, rb_red_blk_node* x) {
+static void InorderTreePrint(rb_red_blk_tree* tree, rb_red_blk_node* x) {
rb_red_blk_node* nil=tree->nil;
rb_red_blk_node* root=tree->root;
if (x != tree->nil) {
/* Note: This function should only be called by RBTreeDestroy */
/***********************************************************************/
-void TreeDestHelper(rb_red_blk_tree* tree, rb_red_blk_node* x) {
+static void TreeDestHelper(rb_red_blk_tree* tree, rb_red_blk_node* x) {
rb_red_blk_node* nil=tree->nil;
if (x != nil) {
TreeDestHelper(tree,x->left);
/* The algorithm from this function is from _Introduction_To_Algorithms_ */
/***********************************************************************/
-void RBDeleteFixUp(rb_red_blk_tree* tree, rb_red_blk_node* x) {
+static void RBDeleteFixUp(rb_red_blk_tree* tree, rb_red_blk_node* x) {
rb_red_blk_node* root=tree->root->left;
rb_red_blk_node* w;
printf("%i",*(int*)a);
}
-void InfoPrint(void* a) {
+static void InfoPrint(void* a) {
;
}
-void InfoDest(void *a){
+static void InfoDest(void *a){
;
}
}
}
-SparseMatrix DistanceMatrix_restrict_cluster(int ncluster, int *clusterp, int *cluster, SparseMatrix P, SparseMatrix R, SparseMatrix D){
+static SparseMatrix DistanceMatrix_restrict_cluster(int ncluster, int *clusterp, int *cluster, SparseMatrix P, SparseMatrix R, SparseMatrix D){
#if 0
/* this construct a distance matrix of a coarse graph, for a coarsen give by merging all nodes in each cluster */
SparseMatrix cD = NULL;
return NULL;
}
-SparseMatrix DistanceMatrix_restrict_matching(int *matching, SparseMatrix D){
+static SparseMatrix DistanceMatrix_restrict_matching(int *matching, SparseMatrix D){
if (!D) return NULL;
assert(0);/* not yet implemented! */
return NULL;
}
-SparseMatrix DistanceMatrix_restrict_filtering(int *mask, int is_C, int is_F, SparseMatrix D){
+static SparseMatrix DistanceMatrix_restrict_filtering(int *mask, int is_C, int is_F, SparseMatrix D){
/* max independent vtx set based coarsening. Coarsen nodes has mask >= is_C. Fine nodes == is_F. */
if (!D) return NULL;
assert(0);/* not yet implemented! */
#endif
-SparseMatrix ideal_distance_matrix(SparseMatrix A, int dim, real *x){
+static SparseMatrix ideal_distance_matrix(SparseMatrix A, int dim, real *x){
/* find the ideal distance between edges, either 1, or |N[i] \Union N[j]| - |N[i] \Intersection N[j]|
*/
SparseMatrix D;
FREE(o->data);
}
-real *Operator_uniform_stress_matmul_apply(Operator o, real *x, real *y){
+static real *Operator_uniform_stress_matmul_apply(Operator o, real *x, real *y){
struct uniform_stress_matmul_data *d = (struct uniform_stress_matmul_data*) (o->data);
SparseMatrix A = d->A;
real alpha = d->alpha;
}
-real *Operator_matmul_apply(Operator o, real *x, real *y){
+static real *Operator_matmul_apply(Operator o, real *x, real *y){
SparseMatrix A = (SparseMatrix) o->data;
SparseMatrix_multiply_vector(A, x, &y, FALSE);
return y;
}
-Operator Operator_matmul_new(SparseMatrix A){
+static Operator Operator_matmul_new(SparseMatrix A){
Operator o;
o = GNEW(struct Operator_struct);
}
-void Operator_matmul_delete(Operator o){
+static void Operator_matmul_delete(Operator o){
if (o) FREE(o);
}
-real* Operator_diag_precon_apply(Operator o, real *x, real *y){
+static real* Operator_diag_precon_apply(Operator o, real *x, real *y){
int i, m;
real *diag = (real*) o->data;
m = (int) diag[0];
}
-Operator Operator_diag_precon_new(SparseMatrix A){
+static Operator Operator_diag_precon_new(SparseMatrix A){
Operator o;
real *diag;
int i, j, m = A->m, *ia = A->ia, *ja = A->ja;
return o;
}
-void Operator_diag_precon_delete(Operator o){
+static void Operator_diag_precon_delete(Operator o){
if (o->data) FREE(o->data);
if (o) FREE(o);
}
}
-real* jacobi(SparseMatrix A, int dim, real *x0, real *rhs, int maxit, int *flag){
+static real* jacobi(SparseMatrix A, int dim, real *x0, real *rhs, int maxit, int *flag){
/* maxit iteration of jacobi */
real *x, *y, *b, sum, diag, *a;
int k, i, j, n = A->n, *ia, *ja, iter;
#define node_degree(i) (ia[(i)+1] - ia[(i)])
-void check_real_array_size(real **a, int len, int *lenmax){
+static void check_real_array_size(real **a, int len, int *lenmax){
if (len >= *lenmax){
*lenmax = len + MAX((int) 0.2*len, 10);
*a = REALLOC(*a, sizeof(real)*(*lenmax));
}
}
-void check_int_array_size(int **a, int len, int *lenmax){
+static void check_int_array_size(int **a, int len, int *lenmax){
if (len >= *lenmax){
*lenmax = len + MAX((int) 0.2*len, 10);
*a = REALLOC(*a, sizeof(int)*(*lenmax));
}
-real get_angle(real *x, int dim, int i, int j){
+static real get_angle(real *x, int dim, int i, int j){
/* between [0, 2Pi)*/
int k;
real y[2], res;
return res;
}
-int comp_real(const void *x, const void *y){
+static int comp_real(const void *x, const void *y){
real *xx = (real*) x;
real *yy = (real*) y;
}
-void spring_electrical_embedding_slow(int dim, SparseMatrix A0, spring_electrical_control ctrl, real *node_weights, real *x, int *flag){
+static void spring_electrical_embedding_slow(int dim, SparseMatrix A0, spring_electrical_control ctrl, real *node_weights, real *x, int *flag){
/* a version that does vertex moves in one go, instead of one at a time, use for debugging the fast version. Quadtree is not used. */
/* x is a point to a 1D array, x[i*dim+j] gives the coordinate of the i-th node at dimension j. */
SparseMatrix A = A0;
return dmean/((real) id[n]);
}
-void spring_maxent_embedding(int dim, SparseMatrix A0, SparseMatrix D, spring_electrical_control ctrl, real *node_weights, real *x, real rho, int *flag){
+static void spring_maxent_embedding(int dim, SparseMatrix A0, SparseMatrix D, spring_electrical_control ctrl, real *node_weights, real *x, real rho, int *flag){
/* x is a point to a 1D array, x[i*dim+j] gives the coordinate of the i-th node at dimension j.
Minimize \Sum_{(i,j)\in E} w_ij (||x_i-x_j||-d_ij)^2 - \rho \Sum_{(i,j)\NotIn E} Log ||x_i-x_j||
#include "post_process.h"
#include "stress_model.h"
-void stress_model_core(int dim, SparseMatrix B, real **x, int edge_len_weighted, int maxit_sm, real tol, int *flag){
+static void stress_model_core(int dim, SparseMatrix B, real **x, int edge_len_weighted, int maxit_sm, real tol, int *flag){
int m;
SparseStressMajorizationSmoother sm;
real lambda = 0;
}
-real UniformStressSmoother_smooth(UniformStressSmoother sm, int dim, real *x, int maxit_sm) {
+static real UniformStressSmoother_smooth(UniformStressSmoother sm, int dim, real *x, int maxit_sm) {
return StressMajorizationSmoother_smooth(sm, dim, x, maxit_sm, 0.001);
}
-SparseMatrix get_distance_matrix(SparseMatrix A, real scaling){
+static SparseMatrix get_distance_matrix(SparseMatrix A, real scaling){
/* get a distance matrix from a graph, at the moment we just symmetrize the matrix. At the moment if the matrix is not real,
we just assume distance of 1 among edges. Then we apply scaling to the entire matrix */
SparseMatrix B;
return s;
}
-char *cat_string3(char *s1, char *s2, char *s3, int id){
+static char *cat_string3(char *s1, char *s2, char *s3, int id){
char *s;
char sid[1000];
sprintf(sid,"%d",id);
return nd;
}
-void node_data_delete(void *d){
+static void node_data_delete(void *d){
node_data nd = (node_data) d;
FREE(nd->coord);
/*delete outside if (nd->data) FREE(nd->data);*/
FREE(nd);
}
-real node_data_get_weight(void *d){
+static real node_data_get_weight(void *d){
node_data nd = (node_data) d;
return nd->node_weight;
}
-real* node_data_get_coord(void *d){
+static real* node_data_get_coord(void *d){
node_data nd = (node_data) d;
return nd->coord;
}
-int node_data_get_id(void *d){
+static int node_data_get_id(void *d){
node_data nd = (node_data) d;
return nd->id;
}
#define node_data_get_data(d) (((node_data) (d))->data)
-void check_or_realloc_arrays(int dim, int *nsuper, int *nsupermax, real **center, real **supernode_wgts, real **distances){
+static void check_or_realloc_arrays(int dim, int *nsuper, int *nsupermax, real **center, real **supernode_wgts, real **distances){
if (*nsuper >= *nsupermax) {
*nsupermax = *nsuper + MAX(10, (int) 0.2*(*nsuper));
}
}
-void QuadTree_get_supernodes_internal(QuadTree qt, real bh, real *point, int nodeid, int *nsuper, int *nsupermax, real **center, real **supernode_wgts, real **distances, real *counts, int *flag){
+static void QuadTree_get_supernodes_internal(QuadTree qt, real bh, real *point, int nodeid, int *nsuper, int *nsupermax, real **center, real **supernode_wgts, real **distances, real *counts, int *flag){
SingleLinkedList l;
real *coord, dist;
int dim, i;
if (A->a) FREE(A->a);
FREE(A);
}
-void SparseMatrix_print_csr(char *c, SparseMatrix A){
+static void SparseMatrix_print_csr(char *c, SparseMatrix A){
int *ia, *ja;
real *a;
int *ai;
-void SparseMatrix_print_coord(char *c, SparseMatrix A){
+static void SparseMatrix_print_coord(char *c, SparseMatrix A){
int *ia, *ja;
real *a;
int *ai;
return FALSE;
}
-void SparseMatrix_level_sets_internal(int khops, SparseMatrix A, int root, int *nlevel, int **levelset_ptr, int **levelset, int **mask, int reinitialize_mask){
+static void SparseMatrix_level_sets_internal(int khops, SparseMatrix A, int root, int *nlevel, int **levelset_ptr, int **levelset, int **mask, int reinitialize_mask){
/* mask is assumed to be initialized to negative if provided.
. On exit, mask = levels for visited nodes (1 for root, 2 for its neighbors, etc),
. unless reinitialize_mask = TRUE, in which case mask = -1.
}
}
-real Hue2RGB(real v1, real v2, real H) {
+static real Hue2RGB(real v1, real v2, real H) {
if(H < 0.0) H += 1.0;
if(H > 1.0) H -= 1.0;
if((6.0*H) < 1.0) return (v1 + (v2 - v1) * 6.0 * H);
}
-int comp_ascend(const void *s1, const void *s2){
+static int comp_ascend(const void *s1, const void *s2){
real *ss1, *ss2;
ss1 = (real*) s1;
ss2 = (real*) s2;
return 0;
}
-int comp_descend(const void *s1, const void *s2){
+static int comp_descend(const void *s1, const void *s2){
real *ss1, *ss2;
ss1 = (real*) s1;
ss2 = (real*) s2;
}
return 0;
}
-int comp_descend_int(const void *s1, const void *s2){
+static int comp_descend_int(const void *s1, const void *s2){
int *ss1, *ss2;
ss1 = (int*) s1;
ss2 = (int*) s2;
return 0;
}
-int comp_ascend_int(const void *s1, const void *s2){
+static int comp_ascend_int(const void *s1, const void *s2){
int *ss1, *ss2;
ss1 = (int*) s1;
ss2 = (int*) s2;
}
}
-Multilevel_MQ_Clustering Multilevel_MQ_Clustering_init(SparseMatrix A, int level){
+static Multilevel_MQ_Clustering Multilevel_MQ_Clustering_init(SparseMatrix A, int level){
Multilevel_MQ_Clustering grid;
int n = A->n, i;
int *matching;
return grid;
}
-void Multilevel_MQ_Clustering_delete(Multilevel_MQ_Clustering grid){
+static void Multilevel_MQ_Clustering_delete(Multilevel_MQ_Clustering grid){
if (!grid) return;
if (grid->A){
if (grid->level == 0) {
FREE(grid);
}
-Multilevel_MQ_Clustering Multilevel_MQ_Clustering_establish(Multilevel_MQ_Clustering grid, int maxcluster){
+static Multilevel_MQ_Clustering Multilevel_MQ_Clustering_establish(Multilevel_MQ_Clustering grid, int maxcluster){
int *matching = grid->matching;
SparseMatrix A = grid->A;
int n = grid->n, level = grid->level, nc = 0, nclusters = n;
return grid;
}
-Multilevel_MQ_Clustering Multilevel_MQ_Clustering_new(SparseMatrix A0, int maxcluster){
+static Multilevel_MQ_Clustering Multilevel_MQ_Clustering_new(SparseMatrix A0, int maxcluster){
/* maxcluster is used to specify the maximum number of cluster desired, e.g., maxcluster=10 means that a maximum of 10 clusters
is desired. this may not always be realized, and mq may be low when this is specified. Default: maxcluster = 0 */
Multilevel_MQ_Clustering grid;
return v;
}
-Vector Vector_assign(Vector v, void *stuff, int i){
+static Vector Vector_assign(Vector v, void *stuff, int i){
memcpy(((char*) v->v)+(v->size_of_elem)*i/sizeof(char), stuff, v->size_of_elem);
return v;
}
/*---------------- integer vector --------------- */
-void intdealloactor(void *v){
+static void intdealloactor(void *v){
}
Vector IntegerVector_new(int len){
/*---------------- string vector --------------- */
-void nulldealloactor(void *v){
+static void nulldealloactor(void *v){
return;
}
-void strdealloactor(void *v){
+static void strdealloactor(void *v){
char **s;
s = (char**) v;
free(*s);
us->name, (b.UR.x + b.LL.x) / 2, (b.UR.y + b.LL.y) / 2);
}
-void core_loadimage_null(GVJ_t *gvc, usershape_t *us, boxf b, boolean filled)
+static void core_loadimage_null(GVJ_t *gvc, usershape_t *us, boxf b, boolean filled)
{
/* null function - basically suppress the missing loader message */
}