[GRASS-user] g.list type=rast gives floating point exception
Glynn Clements
glynn at gclements.plus.com
Wed Oct 18 12:45:00 EDT 2006
Patton, Eric wrote:
> Using 2006-10-18 cvs, I get a floating point exception when running g.list
> type=rast, with no output produced. Strangely, g.list -f rast gives me a
> full verbose listing of all rasters in my mapset. g.list type=vect and
> g.list type=region also work fine.
>
> Any ideas what's going on?
"g.list -f" invokes the $GISBASE/etc/lister/<type> program to list the
maps; without -f, the G_list_element() function is used.
If there exists a map whose name is 80 characters or longer,
G_list_element() will end up dividing by zero[1], which will normally
result in a floating-point exception.
[1] It computes the number of columns as:
num_cols = 80 / (maxlen + 1); /* + 1: column separator */
where maxlen is the length of the longest map name in the list. If the
denominator is greater than 80, num_cols will be zero. num_cols is
used as the RHS of the % (modulus) operator, hence the division by
zero. I'll add a test for that case.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-user
mailing list