[GRASS5] [bug #3227] (grass) d.paint.labels uses wrong reference point
Request Tracker
grass-bugs at intevation.de
Tue May 10 17:23:21 EDT 2005
this bug's URL: http://intevation.de/rt/webrt?serial_num=3227
-------------------------------------------------------------------------
Subject: d.paint.labels uses wrong reference point
Platform: GNU/Linux/i386
grass obtained from: Mirror of Trento site
grass binary for platform: Compiled from Sources
GRASS Version: 5.3.0 (15 May 2004)
d.paint.labels does not use the second word in a two-word reference point name. "upper right" is parsed just as "upper", "lower left" is parsed as "lower" and so on. The problem is caused in the do_labels function when the input line containing the reference point data is scanned using the format string "%*s %s". Only the first of the two words in the reference point name is scanned.
If d.paint.labels uses other two-word data strings then those strings will probably also be scanned incorrectly. ps.map scans the same input line correctly.
I modified my copy by:
1) replacing the sscanf call in do_labels with a function that returned a pointer to the data in the input line or NULL if the data weren't found
2) passing that pointer to the scan_ref function
3) I also modified scan_ref do detect a NULL pointer in its input.
Roger Miller
Lee Wilson and Associates
-------------------------------------------- Managed by Request Tracker
More information about the grass-dev
mailing list