--- stego.c 2008-02-15 16:19:49.000000000 +0000 +++ stego/stego.c 2008-02-14 20:15:56.000000000 +0000 @@ -63,14 +63,16 @@ static long zbits = 0, zbytes = 0; /* Bit and byte I/O count */ static char delim[] = " .?!\"`;:,()`[]{}\n\r"; /* Known delimiters */ static char s[4097]; /* String I/O buffer */ -static FILE *fi = stdin; /* Input file */ -static FILE *fo = stdout; /* Output file */ static long nwords = 0; /* Number of words in dictionary */ static int nbits = 1, blib = 0, bbuf = 0, bitsgotten, ateof = FALSE, verbose = FALSE, linelen = JUSTLEN; static unsigned long next = 987, tnext = 11821; /* Random seeds */ +FILE *fi; +FILE *fo; + + /* The standard rand() random number generators below aren't very good, but we're not relying on them for security in any way. We just use them to shuffle the order of the words chosen from the @@ -426,8 +428,17 @@ char *cp, *arg, opt; FILE *fp; static char *wordlist = DEFAULT_DICT; + +fi = stdin; /* Input file */ +fo = stdout; /* Output file */ + + + #define CheckArg if (arg == NULL) { fprintf(stderr, "Argument missing for -%c flag.\n", opt); return 2; } else i++ + + + for (i = 1; i < argc; i++) { cp = argv[i]; if (*cp == '-' && cp[1]) { @@ -593,12 +604,12 @@ if (isISOupper(w[0]) && s[0] != 0) { if ((trand() & 1) == 0) { strcat(s, eos()); - if ((trand() & 3) == 0) { + /* if ((trand() & 3) == 0) { fprintf(fo, "%s\n\n", s); s[0] = 0; - } else { + } else {*/ strcat(s, " "); - } + /* }*/ } } else if (s[0] != 0) { if ((trand() & 7) == 7) {