Ethereal-dev: Re: [ethereal-dev] Hex dump problem?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Sat, 29 Apr 2000 00:41:41 -0700
> I didn't catch up with this thread until this morning, but last night at
> home I came to the same conclusion , although I made "c" a gint as the man
> pages for all the is<whatever>() show that the parameter should be an int.
> This seemed to work equally well so it's up to you whether you leave "c" as
> a guchar or make it a gint.

The "is<whatever>" macros take an int because they take a value from the
set returned by "getchar()" and "getc()", which is:

	all values that fit in a single byte - 0x00 to 0xFF, on most C
	platforms (there are probably still some PDP-10's and their
	descendants, or Univac^H^H^Hsys 36-bit mainframes, with C
	support on them, but I've yet to hear anybody express interest
	in an Ethereal port to them...);

	EOF, which is typically -1.

"unsigned char" values get converted to "int" (if necessary) in calls to
"is<whatever>", which converts 0x80-0xFF into 0x80-0xFF, so "guchar"
works in situations where EOF isn't one of the values (which it isn't in
this case).

> I have attached some more patches to correct the following things on the
> win32 port:
> 
> 1.  Modified config.nmake to set path to cygwin for tools and to allow
> register.c to be built
> 2.  Modified Makefile.nmake to produce register.c
> 3.  Modified Makefile.nmake wiretap\Makefile.nmake & plugins\Makefile.nmake
> to correctly clean objects

Checked in.