nauty/nauty-uninitialized.patch

546 lines
16 KiB
Diff

--- a/amtog.c
+++ b/amtog.c
@@ -42,7 +42,7 @@ main(int argc, char *argv[])
{
int m,n,outdigit;
int argnum,i,j,outcode,val;
- int unsym0,unsym1,loop0;
+ int unsym0=0,unsym1=0,loop0=0;
char *arg,sw,ochar;
boolean badargs;
boolean nswitch,sswitch,gswitch,hswitch,qswitch;
--- a/bliss2dre.c
+++ b/bliss2dre.c
@@ -39,7 +39,7 @@ main(int argc, char *argv[])
{
int n,c;
unsigned long ne,j;
- vpair *elist,*vlist;
+ vpair *elist=NULL,*vlist=NULL;
int haven;
int i,v,w;
int haveptn;
--- a/complg.c
+++ b/complg.c
@@ -74,7 +74,7 @@ main(int argc, char *argv[])
int j,m,n,argnum;
int codetype,outcode;
graph *g;
- size_t ii,ned,nedc,nn,loops,loopsc,gwords;
+ size_t ii,ned,nedc,nn,loops,loopsc=0,gwords;
nauty_counter nin;
char *arg,sw;
static graph *gq;
--- a/cubhamg.c
+++ b/cubhamg.c
@@ -1961,7 +1961,7 @@ main(int argc, char *argv[])
double t0,t1;
cubgraph cub;
char *arg;
- nauty_counter count,mincount,maxcount,totalcount;
+ nauty_counter count,mincount=0,maxcount=0,totalcount;
int codetype;
HELP; PUTVERSION;
--- a/dreadnaut.c
+++ b/dreadnaut.c
@@ -389,7 +389,7 @@ main(int argc, char *argv[])
unsigned long uli;
size_t sli;
set *gp;
- double timebefore,timeafter,mintime;
+ double timebefore=0.0,timeafter=0.0,mintime;
char filename[515];
int sgn,sgorg,nperm;
int multiplicity,actmult;
--- a/dretodot.c
+++ b/dretodot.c
@@ -252,7 +252,7 @@ double ComputeFontsize(int vtx) {
int
main(int argc, char *argv[])
{
- int m, n, c, a, i, j, k, end, n_count;
+ int m=0, n, c, a, i, j, k, end, n_count;
size_t j1, e_count;
int argnum, initorg, cell, numCol, modcode, vtx, refcode, MaxV, MaxE;
char *arg, sw;
@@ -266,10 +266,10 @@ main(int argc, char *argv[])
char model[10];
int numcells, flind, indivtx;
long minil, maxil;
- double hsize, vsize, fsize;
+ double hsize, vsize, fsize=0.0;
sparsegraph g, g1;
list *liststart, *listend;
- int nodescale, distance, StInd, StIndDist, RnkInd, RnkIndDist;
+ int nodescale, distance, StInd=0, StIndDist, RnkInd, RnkIndDist=0;
HELP; PUTVERSION;
--- a/genbg.c
+++ b/genbg.c
@@ -1192,7 +1192,7 @@ genextend(graph *g, int n2, int *deg, in
graph gx[MAXN];
int degx[MAXN];
boolean rigidx;
- int dneed,need,nfeet,hideg,deg1,ft[MAXN],nfrag,frag[MAXN];
+ int dneed,need,nfeet=0,hideg,deg1,ft[MAXN],nfrag=0,frag[MAXN];
#ifdef INSTRUMENT
boolean haschild;
--- a/genquarticg.c
+++ b/genquarticg.c
@@ -226,8 +226,8 @@ STATIC_POPCNTFUNC(void,extend,
(int n, graph *g, edgestruct *edge, pairstruct *epair, int numpair,
int *epairorbit, int *multar, setword *zar, int *col00w, boolean connectflag),
{
- int vm1, vm2, vm3, vm4, vt1, vt2, vt3, vt4, c, b, mcol1,
- tcol, got_one, i, j, numpair1, numdovi, maxdovi, i1, j1, i2, j2,
+ int vm1, vm2, vm3, vm4, vt1, vt2, vt3, vt4, c, b, mcol1=0,
+ tcol, got_one, i, j, numpair1, numdovi, maxdovi=0, i1, j1, i2, j2,
temp, mult, multm, rely, numedge, dcol, dcolp, e1, e2;
int firsttime[MAXN], firsttimey[MAXN], multar1[MAXN],
col00[MAXN], col00w1[MAXN], doviorbit[3*MAXN],
@@ -242,7 +242,7 @@ STATIC_POPCNTFUNC(void,extend,
dovistruct dovi[3*MAXN];
dovistruct dovimax;
register setword gi1, gi2, gj1, gj2;
- boolean conf;
+ boolean conf=FALSE;
/////////////////////////////////////////////////////////////////////////
if( n == splitlevel )
--- a/genrang.c
+++ b/genrang.c
@@ -1087,7 +1087,7 @@ main(int argc, char *argv[])
static FILE *outfile;
char *outfilename;
sparsegraph sg;
- boolean usesparse,digraph,bipartite;
+ boolean usesparse,digraph,bipartite=FALSE;
#if MAXN
graph g[MAXM*1L*MAXN];
--- a/gtnauty.c
+++ b/gtnauty.c
@@ -682,7 +682,7 @@ istransitive(graph *g, int m, int n, gra
int i,inv;
set *gw;
short wt;
- int d,inv0,v,w;
+ int d,inv0=0,v,w;
statsblk stats;
static DEFAULTOPTIONS_GRAPH(options);
#if MAXN
--- a/gtools.c
+++ b/gtools.c
@@ -445,8 +445,8 @@ char*
getecline(FILE *f) /* read an edge_code line */
/* No trailing \n or \0 is added. Immediate EOF causes NULL return. */
{
- size_t headsize,bodysize;
- int sizesize,edgesize;
+ size_t headsize=0,bodysize=0;
+ int sizesize=0,edgesize=0;
int c1,c,i;
DYNALLSTAT(unsigned char,s,s_sz);
@@ -657,7 +657,7 @@ stringtograph(char *s, graph *g, int m)
/* Assumes g is big enough to hold it. */
{
char *p;
- int n,i,j,k,v,x,nb,need;
+ int n,i,j,k,v,x=0,nb,need;
size_t ii;
set *gi,*gj;
boolean done;
@@ -800,7 +800,7 @@ stringtograph_inc(char *s, graph *g, int
*/
{
char *p;
- int n,i,j,k,v,x,nb,need;
+ int n,i,j,k,v,x=0,nb,need;
size_t ii;
set *gi,*gj;
boolean done;
@@ -955,7 +955,7 @@ readgg(FILE *f, graph *g, int reqm, int
*/
{
char *s,*p;
- int m,n;
+ int m=0,n;
if ((readg_line = gtools_getline(f)) == NULL) return NULL;
@@ -1108,7 +1108,7 @@ readgg_inc(FILE *f, graph *g, int reqm,
*/
{
char *s,*p;
- int m,n;
+ int m=0,n;
if ((readg_line = gtools_getline(f)) == NULL) return NULL;
@@ -1219,7 +1219,7 @@ stringtosparsegraph(char *s, sparsegraph
* Also returns the number of loops */
{
char *p,*q;
- int n,nde,i,j,k,vv,x,nb,need;
+ int n,nde,i,j,k,vv,x=0,nb,need;
int *d,*e;
size_t *v;
int loops;
--- a/gutil1.c
+++ b/gutil1.c
@@ -163,7 +163,9 @@ POPCNTFUNC(void,degstats2,
return;
}
-#if !MAXN
+#if MAXN
+ memset(indeg, 0, MAXN * sizeof(int));
+#else
if (digraph)
{
DYNALLOC1(int,indeg,indeg_sz,n,"degstats2");
--- a/gutil2.c
+++ b/gutil2.c
@@ -457,7 +457,7 @@ POPCNTFUNC(int,conncontent,(graph *g, in
graph h[WORDSIZE];
setword gj;
int i,j,v1,v2,x,y;
- int minv,mindeg,deg,goodv;
+ int minv=0,mindeg,deg,goodv;
long ne;
if (m > 1) ABORT("conncontent only implemented for m=1");
--- a/hamheuristic.c
+++ b/hamheuristic.c
@@ -252,14 +252,14 @@ main(int argc, char *argv[])
{
sparsegraph sg;
int n,codetype;
- int argnum,i,j,outcode,tvalue;
+ int argnum,i,j,outcode=0,tvalue;
char *arg,sw;
boolean badargs;
boolean pswitch,sswitch,gswitch,qswitch,Lswitch,tswitch,vswitch,uswitch;
long Lvalue;
double t;
char *infilename,*outfilename;
- FILE *infile,*outfile;
+ FILE *infile,*outfile=NULL;
nauty_counter nin,nout,nNO,nYES,nTIMEOUT;
int status;
DYNALLSTAT(int,cyc,cyc_sz);
--- a/labelg.c
+++ b/labelg.c
@@ -99,14 +99,14 @@ main(int argc, char *argv[])
sparsegraph sg,sh;
int m,n,codetype;
int argnum,j,outcode;
- char *arg,sw,*fmt;
+ char *arg,sw,*fmt = NULL;
boolean badargs,digraph;
boolean sswitch,gswitch,qswitch,fswitch,Oswitch;
boolean iswitch,Iswitch,Kswitch,Mswitch,Sswitch;
boolean uswitch,tswitch,Cswitch,Wswitch,zswitch;
boolean dooutput;
int tabsize,outinvar;
- int inv,mininvarlevel,maxinvarlevel,invararg;
+ int inv,mininvarlevel=0,maxinvarlevel=0,invararg;
long minil,maxil;
double t;
char *infilename,*outfilename;
--- a/linegraphg.c
+++ b/linegraphg.c
@@ -27,7 +27,7 @@ linegraph(sparsegraph *g, sparsegraph *h
size_t *gv,*hv;
int gnv,hnv,jj;
size_t i,j,k,gnde,hnde,xhnde,num;
- size_t hi,lo,mid,v,w;
+ size_t hi,lo,mid=0,v,w;
sortlists_sg(g);
SG_VDE(g,gv,gd,ge);
@@ -113,7 +113,7 @@ totalgraph(sparsegraph *g, sparsegraph *
size_t *gv,*hv;
int gnv,hnv,jj;
size_t i,j,k,gnde,hnde,xhnde,num;
- size_t hi,lo,mid,v,w;
+ size_t hi,lo,mid=0,v,w;
sortlists_sg(g);
SG_VDE(g,gv,gd,ge);
--- a/listg.c
+++ b/listg.c
@@ -529,7 +529,7 @@ main(int argc, char *argv[])
boolean sswitch,Mswitch,Wswitch,Lswitch,Eswitch;
boolean bswitch,Gswitch,yswitch,Yswitch,Hswitch;
int linelength;
- char *infilename,*outfilename,*yarg;
+ char *infilename,*outfilename,*yarg=NULL;
HELP; PUTVERSION;
--- a/multig.c
+++ b/multig.c
@@ -895,7 +895,7 @@ main(int argc, char *argv[])
{
graph *g;
graph gg[MAXNV*SETWORDSNEEDED(MAXNV)];
- int i,m,n,ne,codetype;
+ int i,m,n,ne=0,codetype;
int argnum,j,nfixed,maxdeg,regdeg,ldeg;
char *arg,sw;
boolean badargs;
--- a/naugraph.c
+++ b/naugraph.c
@@ -193,7 +193,7 @@ POPCNTFUNC(void,refine,(graph *g, int *l
int cnt,bmin,bmax;
long longcode;
set *gptr;
- int maxcell,maxpos,hint;
+ int maxcell,maxpos=0,hint;
DEF_DYNINT(workperm,n,"refine");
DEF_DYNSET(workset,m,"refine");
@@ -346,7 +346,7 @@ POPCNTFUNC(void,refine1,(graph *g, int *
int cnt,bmin,bmax;
long longcode;
set *gptr,workset0;
- int maxcell,maxpos,hint;
+ int maxcell,maxpos=0,hint;
DEF_DYNINT(workperm,n,"refine1");
DEF_DYNINT(bucket,n+2,"refine1");
--- a/nautinv.c
+++ b/nautinv.c
@@ -1575,7 +1575,7 @@ STATIC_POPCNTFUNC(int,semirefine,
int cnt,bmin,bmax;
long longcode;
set *gptr;
- int maxcell,maxpos,hint;
+ int maxcell,maxpos=0,hint;
DEF_DYNINT(workperm,n,"refine");
DEF_DYNSET(workset,m,"refine");
--- a/nauty.c
+++ b/nauty.c
@@ -565,7 +565,7 @@ firstpathnode(int *lab, int *ptn, int le
#endif
{
int tv;
- int tv1,index,rtnlevel,tcellsize,tc,childcount,qinvar,refcode;
+ int tv1,index,rtnlevel,tcellsize,tc,childcount=0,qinvar,refcode;
#if !MAXN
set *tcell;
tcnode *tcnode_this;
--- a/planarg.c
+++ b/planarg.c
@@ -171,7 +171,7 @@ int
main(int argc, char *argv[])
{
char *infilename,*outfilename;
- FILE *infile,*outfile;
+ FILE *infile,*outfile=NULL;
sparsegraph sg;
boolean badargs;
boolean verbose,nonplanar,quiet;
--- a/planarity.c
+++ b/planarity.c
@@ -803,7 +803,7 @@ sparseg_adjl_remove_dir_edge_no_red (t_v
A will be left with "holes"
*/
{
- int cur_e, prev_e;
+ int cur_e, prev_e=0;
cur_e = V[u].first_edge;
if (cur_e == NIL)
@@ -4687,7 +4687,7 @@ embedg_recover_embedding (
- for edge e, find its index in A: this should be found
in either the embed_graph[v] record of the mult_edges[v] record
*/
- int index_embed, v, mult, w, v_w_in_embed, new_first_edge;
+ int index_embed, v, mult, w, v_w_in_embed=0, new_first_edge;
boolean set_next;
IF_DEB(
@@ -7552,7 +7552,7 @@ sparseg_adjl_dfs_preprocessing (
according to their lowpoint value
*/
lowpoint_order = (int *) mem_malloc(sizeof(int) * n);
- temp = (t_dlcl **) mem_malloc(sizeof(t_dlcl *) * n);
+ temp = (t_dlcl **) calloc(sizeof(t_dlcl *), n);
new_dfs_tree = (t_dlcl **) mem_malloc(sizeof(t_dlcl *) * n);
/*
--- a/productg.c
+++ b/productg.c
@@ -99,7 +99,7 @@ void
arg_oct(char **ps, int *val, char *id)
{
int code;
- long longval;
+ long longval=0;
code = longoctvalue(ps,&longval);
*val = longval;
--- a/schreier.c
+++ b/schreier.c
@@ -558,7 +558,7 @@ filterschreier(schreier *gp, int *p, per
schreier *sh;
int *orbits,*pwr;
permnode **vec,*curr;
- boolean changed,lchanged,ident;
+ boolean changed,lchanged,ident=FALSE;
#if !MAXN
DYNALLOC1(int,workperm,workperm_sz,n,"filterschreier");
#endif
@@ -774,7 +774,7 @@ getorbitsmin(int *fix, int nfix, schreie
{
schreier *sh,*sha;
int *fixorbs;
- int i,j,k,icell,nfails,wordlen,skips;
+ int i,j,k,icell=0,nfails,wordlen,skips;
permnode *pn;
#if !MAXN
DYNALLOC1(int,workperm2,workperm2_sz,n,"expandschreier");
--- a/shortg.c
+++ b/shortg.c
@@ -280,11 +280,11 @@ int
main(int argc, char *argv[])
{
char *infilename,*outfilename;
- FILE *infile,*outfile;
- FILE *sortin,*sortout;
+ FILE *infile,*outfile=NULL;
+ FILE *sortin=NULL,*sortout=NULL;
int status,loops;
char *dstr,*cdstr,*prevdstr,*prevcdstr;
- char sw,*fmt;
+ char sw,*fmt=NULL;
boolean badargs,quiet,vswitch,dswitch,kswitch,format,uswitch;
boolean iswitch,Iswitch,Kswitch,Tswitch;
boolean zswitch,sswitch,gswitch,Sswitch,tswitch;
@@ -292,7 +292,7 @@ main(int argc, char *argv[])
nauty_counter numread,prevnumread,numwritten,classsize;
int m,n,i,ii,argnum,line;
int outcode,codetype;
- int inv,mininvarlevel,maxinvarlevel,invararg;
+ int inv,mininvarlevel=0,maxinvarlevel=0,invararg;
long minil,maxil;
pid_t sortpid;
graph *g;
--- a/showg.c
+++ b/showg.c
@@ -559,7 +559,7 @@ stringtograph(char *s, graph *g, int m)
/* Assumes g is big enough to hold it. */
{
char *p;
- int n,i,j,k,v,x,nb,need;
+ int n,i,j,k,v,x=0,nb,need;
size_t ii;
set *gi,*gj;
boolean done;
@@ -703,7 +703,7 @@ readgg(FILE *f, graph *g, int reqm, int
{
char *s,*p;
int m,n;
- int readg_code;
+ int readg_code=0;
if ((s = showg_getline(f)) == NULL) return NULL;
--- a/subdivideg.c
+++ b/subdivideg.c
@@ -26,7 +26,7 @@ subdivisiongraph(sparsegraph *g, int k,
size_t *gv,*hv;
int gnv,hnv;
size_t i,j,l,gnde,hnde,num;
- size_t hi,lo,mid,w;
+ size_t hi,lo,mid=0,w;
sortlists_sg(g);
if (k == 0)
--- a/traces.c
+++ b/traces.c
@@ -1386,7 +1386,7 @@ int traces_refine(Candidate *Cand,
int newtrace = FALSE;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, *TraceEnd, Traceccend, *Tracestpend;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
boolean TraceCell = FALSE;
int *nghb;
int conta;
@@ -2158,7 +2158,7 @@ void traces_refine_notrace(Candidate *Ca
int Split = 0;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *SplitCell, *LabCell;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
int *nghb;
const int variation = 1;
int currentweight, weightstart, weightend, currentcell, currentsize;
@@ -2754,7 +2754,7 @@ void traces_refine_maketrie(Candidate *C
int Split = 0;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *SplitCell, *LabCell;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
int *nghb;
const int variation = 1;
int currentweight, weightstart, weightend, currentcell, currentsize;
@@ -3331,7 +3331,7 @@ int traces_refine_comptrie(Candidate *Ca
int Split = 0;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *SplitCell, *LabCell;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
int *nghb;
const int variation = 1;
int currentweight, weightstart, weightend, currentcell, currentsize;
@@ -3913,7 +3913,7 @@ int traces_refine_sametrace(Candidate *C
unsigned int longcode;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, *TraceEnd, Traceccend, *Tracestpend;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
boolean TraceCell = FALSE;
int *nghb;
const int variation = 0;
@@ -4755,7 +4755,7 @@ void refine_tr_refine(Candidate *Cand,
int newtrace = FALSE;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, TraceEnd, Traceccend, Tracestpend;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
boolean TraceCell = FALSE;
int *nghb;
const int variation = 0;
@@ -6378,7 +6378,7 @@ int CompStage0(Partition *CurrPart, Part
int m, int n, struct TracesVars* tv, struct TracesInfo *ti) {
int i, j, i1, j2, k, cu, cu1, num_indv;
int temp, tmp, auxcode, search_vtx, gom_level;
- boolean closeloop, firstsing, has_nexttcell;
+ boolean closeloop=FALSE, firstsing, has_nexttcell;
Candidate *SpTLliststart, *AuxCand;
searchtrie *TreeNode, *TreeNode1, *TreeNode2;
@@ -10173,12 +10173,11 @@ struct trie *trie_make(trie *t, int valu
struct trie *trie_new(int n, struct TracesVars* tv) {
- TrieArray[0] = malloc(n*sizeof(trie));
+ TrieArray[0] = calloc(n, sizeof(trie));
if (TrieArray[0] == NULL) {
fprintf(ERRFILE, "\nError, memory not allocated.\n");
exit(1);
}
- TrieArray[0][0].first_child = TrieArray[0][0].next_sibling = NULL;
tv->triepos = 0;
tv->trienext = 1;
return TrieArray[0];