ftp.nice.ch/pub/next/tools/scanner/scanner.0.7.sd.tar.gz#/scanner/util.c

This is util.c in view mode; [Download] [Up]

/*
Utility Routines for scan300c
 
Copyright (c) Terence P. Gliedt, 1992.
	This program may be freely redistributable in its original, unmodified form.
	The author grants you a nonexclusive, royalty-free license to use this software,
	and modify it as needed provided that this copyright notice remains, and any
	changes are clearly indicated as such.  No part may be incorporated in products or
	packages sold for profit without express permission of the copyright holder.
	The author assumes no responsibility for the consequences of using this program
	and no warranty of any sort is expressed or implied.
*/
 #include <sys/types.h>

char _HexString[4096];		/* Hex builds into here */
/*
Hex (String, Length)

Function:		Format String as a hexadecimal string for Length bytes

Returns:		char * to _HexString
*/
char *Hex(char *String, int Length)
{
	const char HexChar[16] = "0123456789ABCDEF";
	int I;
	char *P = &_HexString[0];		/* Return data goes here */

	for (; Length; Length--)  {
		I = (*String>>4) & 15;
		*P = HexChar[I];
		P++;
		I = *String & 15;
		*P = HexChar[I];
		P++;
		String++;
	}
	*P = '\0';
	return(_HexString);
}

/*
ByteCounter (ByteC)

Function:		Calculates the byte counter length 

Returns:		int
*/
int ByteCounter(u_char *ByteC)
{
	int  Low, High;

	Low = (int) *ByteC;
	ByteC++;
	High = (int) *ByteC;
	return( (256*High) + Low);
}

/*
MakeByteCounter (Value, ByteC)

Function:		Creates a two byte ByteC (lower byte followed by higher byte) from Value

Returns:		void
*/
void MakeByteCounter(int Value, u_char *ByteC)
{

	*ByteC = (u_char) 255 & Value;
	Value = Value>>8;
	ByteC++;
	*ByteC = (u_char) 255 & Value;
	return;
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.