I, for whatever reason, get a seg fault when ever I do
Code:soil->root = NULL
I also find that when I try the following I get a seg fault as well.
Code:soil -> root = (struct entry *) malloc (sizeof(struct entry));
My current hypothesis is that the server I am using will not allow me to access its memory for whatever reason. Though I have tried other programs, and they work just fine, even though they need access to memory. But before my server went down for about 6 hours, everything was just fine upto linking a Binary tree (which I'll have another thread for).
Here is what my code looks like up to the seg fault:
Code:///////////////////////////////////////////////////////////////////// // Program : Lab05 // File : lab05h.c // Function : header // Description : Header file for Lab05 ///////////////////////////////////////////////////////////////////// # include <ctype.h> # include <stdio.h> # include <string.h> # include <stdlib.h> # define TRUE 1 # define FALSE 0 # define YES 1 # define NO 0 # define WORD 32 # define MAX 81 # define REMOVE "\\\"\%/`~!@#$^&*()-+={}|[];<>?: " //Used for strtok ",.' " not included struct entry{ char name [WORD]; char *line[5] ; struct entry *left;; struct entry *right;; }; struct head{ struct entry *root; }; int promptFile( char scriptFile[] ); int buildTree ( struct head *soil, FILE *fp ); int fileOpen ( char fileName[], FILE **fpr ); FILE *skipEntry( FILE ***fp ); void upperAll ( char word[] ); FILE *leafAdd ( char name [ ], FILE **fp, struct head *soil ); FILE *addLoop( struct entry **current, FILE ***fp, char line[]); void displayTree ( struct entry *current ); ///////////////////////////////////////////////////////////////////// // Program : Lab05 // File : main.c // Function : main // Description : This program will hold company names and details // : within a binary tree. // Variable Ref : soil - holds root of tree // : fpr - the file to be read in // : fileName - name of file to use // : argc - number of arguments read in // : argv - arguments read in ///////////////////////////////////////////////////////////////////// # include "lab05.h" int main( int argc, char *argv[] ){ struct head *soil; struct entry *current; char fileName [WORD]; FILE *fpr; // If file name supplied in command line, build from that file, else // build from defult file soil -> root = NULL; /* REST OF CODE */



LinkBack URL
About LinkBacks


