diff options
| author | B. Watson <urchlay@slackware.uk> | 2024-05-19 02:50:03 -0400 | 
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2024-05-19 02:50:03 -0400 | 
| commit | ac17f6e65a89a344955da2ab93a6ad37cceab56a (patch) | |
| tree | 0b144112b48d89483d25dcb2d680f1e5fd88d6ff | |
| parent | 3419a47eaa9ce7bbccb6e6028b9b0835b1f8f288 (diff) | |
| download | bw-atari8-tools-ac17f6e65a89a344955da2ab93a6ad37cceab56a.tar.gz | |
unprotbas: remove dead code.
| -rw-r--r-- | unprotbas.c | 130 | 
1 files changed, 0 insertions, 130 deletions
| diff --git a/unprotbas.c b/unprotbas.c index a367502..de7c441 100644 --- a/unprotbas.c +++ b/unprotbas.c @@ -236,7 +236,6 @@ void move_code(int offset) {  	The maximum number of variable names is 128. If all 128 vars are in  	use, the minimum table size is 230 (26 one-letter names, 102 2-letter  	or letter+number or one-letter string/array names). -  */  int vntable_ok(void) { @@ -376,135 +375,6 @@ int fixvars(void) {  	return 1;  } -#if 0 -int old_fixvars(void) { -	int vp = vnstart, vv = vvstart; -	int strings = 0, arrays = 0, scalars = 0, varname = 0, varnum = 0; -	int bad = 0; - -	/* See if the variables even need fixing. - -		This code is simpler than it should be: it checks that all -		characters in the variable name table are valid, but doesn't -		check that they're in valid sequences. Example: a variable name -		that's just an inverse dollar sign would be considered OK). -		Also multiple variables of the same type with the same name -		would be OK. - -		However, if all the bytes are the same value, even if it's a -		valid character, that's correctly detected as invalid. -	 */ - -	if(vntp == vntd) { -		fprintf(stderr, "No variables\n"); -		return 0; -	} - -	vp = vnstart + 1; -	bad = 1; -	while(vp < vvstart - 1) { -		if(data[vp] != data[vnstart]) bad = 0; -		vp++; -	} - -	vp = vnstart; -	while(vp < vvstart) { -		unsigned char c = data[vp]; -		/* -		fprintf(stderr, "%04x/%04x: %04x\n", vp, vvstart, c); -		*/ - -		/* allow a null byte only at the end of the table! */ -		/* if(c == 0 && vp == vvstart - 1) break; */ -		/* new rule: treat a null byte as end-of-table, ignore any -			junk between it and VNTP. */ -		if(c == 0) break; - -		vp++; - -		/* inverse $ or ( is OK */ -		if(c == 0xa4 || c == 0xa8) continue; - -		/* numbers and letters are allowed, inverse or normal. */ -		c &= 0x7f; -		if(c >= 0x30 && c <= 0x39) continue; -		if(c >= 0x41 && c <= 0x5a) continue; - -		bad++; -		break; -	} -	if(!forcevars && !bad) return 0; - -	/* decide whether we have enough room. pretend every new variable name -		is 3 bytes (really only true for the 10th and later strings and -		arrays, but a little wasted space won't hurt anything). */ -	{ -		int vntblsize = vvstart - vnstart; -		int varcount = (codestart - vvstart) / 8; -		int neededsize = varcount * 3 + 1; -		int move_up_by; - -		fprintf(stderr, "%d variables according to value table\n", varcount); -		if(neededsize > vntblsize) { -			move_up_by = neededsize - vntblsize; -			fprintf(stderr, "need %d bytes for vntable, only have %d, moving up by %d to %04x\n", -					neededsize, vntblsize, move_up_by, vvtp + move_up_by); -			move_code(move_up_by); -		} -	} - -	vp = vnstart; -	vv = vvstart; -	while(vv < codestart) { -		unsigned char sigil = 0; -		/* type: scalar = 0, array = 1, string = 2 */ -		unsigned char type = data[vv] >> 6; -		/* fprintf(stderr, "%04x: %04x, %d\n", vv, data[vv], type); */ - -		if(varnum != data[vv+1]) { -			fprintf(stderr, "Warning: variable value is corrupt!\n"); -		} -		varnum++; - -		switch(type) { -			case 1: varname = arrays++; sigil = 0xa8; break; -			case 2: varname = strings++; sigil = 0xa4; break; -			default: varname = scalars++; break; -		} - -		if(varname < 26) { -			data[vp] = ('A' + varname); -		} else { -			varname -= 26; -			data[vp++] = 'A' + ((varname - 26) / 9); -			data[vp] = ('1' + ((varname - 26) % 9)); -		} - -		if(sigil) { -			vp++; -			data[vp++] = sigil; -		} else { -			data[vp] |= 0x80; -			vp++; -		} - -		vv += 8; -	} - -	/* there's supposed to be a null byte at the end of the table, unless -		all 128 table slots are used. */ -	if(varnum < 128) data[vp] = 0; - -	/* fixup the VNTD pointer */ -	vntd = vntp + (vp - vnstart); -	data[4] = vntd & 0xff; -	data[5] = vntd >> 8; - -	fprintf(stderr, "%d variables, VNTD adjusted to %04x\n", varnum, vntd); -	return 1; -} -#endif -  void print_help(void) {  	fprintf(stderr, "Usage: %s [-v] [-f] [-n] [-g] <inputfile> <outputfile>\n", self);  	fprintf(stderr, "-v: verbose\n"); | 
