BUGFIXING STATUS OF GRASS4.1 Programs fixed with update packages #1 ,#2, #3: xdigit xgrass general/gis/Gmakefile gis libes g.region g.setproj g.setproj grass fonts(GRASS930489) gis.sh dlg_to_bdlg i.ortho.photo i.pca i.tape.other i.tape.spot d.3d d.mon (parsing termcap) d.mon (locking) r.cost r.drain r.watershed r.slope.aspect r.contour r.neighbor r.thin r.surf.idw2 v.cutter v.in.arc v.in.tig.lndmk v.in.ascii v.digit v.patch m.lulc.read m.dem.extract paint drivers p.map.new r.buffer r.combine s.surf.idw s.surf.tps v.apply.census v.digit v.patch v.in.tig.lndmk v.in.transects v.report v.trim setup script xgd libes XDRIVER xdigit (missing files in updates 1,2 ) xgrass: opening shell xgrass: xdispay toolbox xgrass: xclip xgrass: xdisplay barscale XDRIVER Programs fixed in update 4 d.what.vect d.rast.edit i.cluster i.composite i.gensigset i.ortho.photo g.help g.manual g.region gmake.sh m.dted.extract ps.map p.map.new r.binfer r.coin r.line r.poly r.stats r.in.ll r.thin r.tiff r.gif s.surf.tps v.autocorr v.out.arc v.out.dlg v.out.dxf v.prune v.proj XDRIVER ppm paint driver xgrass gis library btree library Vect library display library imagery library dig_atts library proj library Programs fixed (not in updates 1 - 4: D library d.labels d.mapgraph d.rgb d.scale g.region gis libes GISGEN.sh i.fft i.ortho.photo i.pca m.dem.examine m.dted.extract p.colors p.map.new ps.map r.weight s.menu src/libes v.cutter v.digit v.digit2 XDRIVER xgrass Programs in a process of being fixed: xgrass: vector drawing xgrass: color tables XDRIVER v.support Detected problems (did not start to fix them yet): d.mon locking p.map.new More Detailed Descriptions: _________________________________________________________________________ xdigit: PROBLEM DESCRIPTION: 1. XEXTRALDFLAGS needed to be included in the compile link line STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 2. xdigit couldn't compile on Intergraph STATUS: FIXED with update 2 PROBLEM DESCRIPTION: 3. digitizer input problem which caused digitized lines to streak off the screen. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 4. problem with placement of the popup dialogs: Several popup dialogs in xdigit that are reused often were being created and destroyed each time they were used, so that they always popped up in the middle of the screen, even if the user had moved them last time they were up. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 5. disappearing popup dialog in xdigit STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 6. On some architecures xdigit crashed because of improper handling of the pixmaps. Bitmap bit order & byte order were incorrectly specified so that pixmaps were either not created or created incorrectly on some machines. Also, pixmaps were used without checking to see if they had been created correctly, causing the program to crash if they had not. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 6. xdigit was maintaining an off-screen pixmap to copy from when on-screen canvas was exposed and needed refresh. This required all drawing to be done twice, once to screen and once to pixmap, slowing down drawing speed considerable and causing great annoyance to users on slow machines. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 7. digitizer reads take more tries for some digitizers than for others. Users with altek digitizers had problems digitizing because read was not tried enough times to get a full packet of information. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 8. xdigit allowed only buttons which output numbers. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: xdigit would not compile because it could not find the Xm library. This was because the path to that library ($(XMLIBPATH)) was not passed to cc. STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: $XLDFLAGS was missing from compile command in gmakefile STATUS: FIXED with update package 4 _________________________________________________________________________ v.digit: PROBLEM DESCRIPTION: 1. digitizer reads take more tries for some digitizers than for others. Users with altek digitizers had problems digitizing because read was not tried enough times to get a full packet of information. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 2. v.digit allowed only buttons which output numbers. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 3. v.digit did not work with altek after update 1. STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 4. Just getting rid of compilation warnings and cleaning up the code. STATUS: FIXED with update package 5 _________________________________________________________________________ v.patch: PROBLEM DESCRIPTION: did not work correctly with deleted attributes. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: gave segmentation fault when vector maps did not have any undeleted attributes. STATUS: FIXED with update package 3 _________________________________________________________________________ paint drivers: PROBLEM DESCRIPTION: File paint/Drivers/versatec/3236/DRIVER.sh needed to be modified: GISBASE is misspelled. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: paint drivers did not compile under SOLARIS STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: ppm driver did not do the scaling correctly STATUS: FIXED with update package 4 _________________________________________________________________________ r.surf.idw2: PROBLEM DESCRIPTION: Used to give segmentation fault on SGI (Passing incorrect arguments into function) STATUS: FIXED with update package 1 _________________________________________________________________________ v.in.ascii: PROBLEM DESCRIPTION: Was testing if the dig_att file exists already incorrectly. (the full file name was not being constructed before testing) STATUS: FIXED with update package 1 _________________________________________________________________________ r.neighbors: PROBLEM DESCRIPTION: Did not compile on some architectures. (Function had wrong type in a declaration) STATUS: FIXED with update package 1 _________________________________________________________________________ i.ortho.photo: PROBLEM DESCRIPTION: Did not compile on some architectures. reason: imagery/i.ortho.photo/photo.2target/analyze.c called index() instead of G_index(); index() wasn't available on all platforms and therefore should not have been used. STATUS: FIXED with update package 2 PROBLEM DESCRIPTION: compilation warnings: "zoom_box.c", line 34: warning: using out of scope declaration: cancel ld: warning: symbol `buf' has differing sizes: STATUS: FIXED wuth update package 4 PROBLEM DESCRIPTION: functions I_fopen_cam_file_* defined in fopen_camera.c had parameter file which was not passed in cam_info.c but passed in title_camera.c An argument type to one of the function was missplelled STATUS: FIXED wuth update package 5 PROBLEM DESCRIPTION: initializing camera gave segmentation fault STATUS: FIXED wuth update package 5 _________________________________________________________________________ r.slope.aspect: PROBLEM DESCRIPTION: The category values for slope in percent were increased by 1 . They were inconsistent with their labels. STATUS: FIXED with update package 1 _________________________________________________________________________ i.pca: PROBLEM DESCRIPTION: i.pca right now doesn't make system calls to r.mapcalc and r.covar. It computes everything by itself by reading data from input bands in a sequential order. It doesn't store the data in memory as it did in 4.0 STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: getting rid of compilation warnings STATUS: FIXED with update package 5 _________________________________________________________________________ r.drain: PROBLEM DESCRIPTION: 1. the program can could accept only 1 pair of coordinates, and could not take the coordinates from the raster map. STATUS: FIXED with update package 1 _________________________________________________________________________ r.watershed: ram: PROBLEM DESCRIPTION: The memory wasn't initialized and accessed correctly. Also dependencies in Gmakefile were wrong. STATUS: FIXED with update package 1 _________________________________________________________________________ r.cost: PROBLEM DESCRIPTION: Initialization for the output file was done incorrectly. STATUS: FIXED with update package 1 _________________________________________________________________________ xgrass: PROBLEM DESCRIPTION: 1. xgrass/pixmap failed on R4 so we put it as the last item in GRASS.X STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 2. Gmakefile in xgrass/display was using -lm It should use $(MATHLIB). STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 3. XGRASS4.1 BETA was still somewhere hardcoded into the xgrass software. STATUS: FIXED with update package 2 PROBLEM DESCRIPTION: 4. The legends in xdisplay were incomplete. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 5. Change in a barscale from dashed to ticked gave an X error. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 6. xgrass/menu doesn't compile on INTERGRAPH since declared rindex() doesn't exist on INTERGRAPH. STATUS: FIXED with update package 2 PROBLEM DESCRIPTION: 7.The vector drawing routines are too slow. STATUS: in a process of BEING FIXED PROBLEM DESCRIPTION: 8. xdisplay has problems allocating colors. STATUS: in a process of BEING FIXED PROBLEM DESCRIPTION: 8. core dump occures when selecting a function when openning monitor. STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 9. 18 files were missing from xclip directory STATUS: FIXED (update 2) PROBLEM DESCRIPTION: 10. xdisplay gave segmentation fault when using toolbox (fill pattern) STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 11. xdisplay broke when using barscale STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 12. xgddatabases broke when user hit return on all the questions with error message test: argument expected. if test $x = "y" should be if test "$x" = "y" Also in all the questions there should be "(y/n) [y]" not "(y/n)", since the default is taken to be n. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: 13.i) when starting XGRASS session, user defines GISDBASE, LOCATION and MAPSET in the XGRASS startup dialog. But after that, when user opens a XGIS.sh these variables are no the same: they come from the the $home/.grassrc so they can be different from these defined previously. ii) when starting a Xwindow monitor x0 in the XGRASS4.1 display menu, this monitor is not set in the XGIS.sh : the answer to the 'd.mon -p' command is : "no monitor currently selected for grafic output". STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: Bug fixed: The browser used by programs such as xclip did not respond to changes in the user's mapset search path. A change (already in sable) to the gis libs was needed, and the following is a call to the added gis lib function: STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: Bug fix: The xgbrowser completely ignored the user's mapset search path, and showed all mapsets in the location. This makes it behave like the browser within xgrass programs (like mentioned above) so that it offers the users choices from the current mapset search path. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: Bug: the xgmapsets program would bomb if the user clicked on anything in the "Your search path" list (which is on the right side of the tool). STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: Bug: xgreclass would either ignor command line options, or exit because it wouldn't recognize them. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: xgregion could not find help files: - can't open /GRASS.bin/4.1/sun4/etc/xhelp/xgrass/region_gr_button - can't open /GRASS.bin/4.1/sun4/etc/xhelp/xgrass/region_def_button - can't open /GRASS.bin/4.1/sun4/etc/xhelp/xgrass/region_draw_area - can't open /GRASS.bin/4.1/sun4/etc/xhelp/xgrass/region_col_button The problem is simple: the names used in the code (as shown above) don't match those in the help dir. the src for help text is $GISBASE/src/xgrass/xhelp, wherein the files in question are named with "reg_" and not "region_" STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: the script created by xglossary Gmakefile fails to put the executable in its path.. (unless I am crazy).... STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: some of the xgrass xclip scripts should capture output into the xgrass editor by default. these are the ones for programs like r.report that spew text as part of their function. for these, the xclip command 'capture:true' should be set. some xclip scripts use this, most do not. here are a list of those that I think should have the line capture:true added: -- r.cats r.covar r.describe r.info r.report r.stats r.what v.stats -- STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: this is from the xclip script for d.grid. the color list it offered didn't jive with what the program expected. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: could not find include file STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: writing color table in xgdisplay gave segmentation fault. STATUS: FIXED with update package 5 _________________________________________________________________________ m.lulc.read: PROBLEM DESCRIPTION: m.lulc.read didn't use G_parser() STATUS: FIXED with update package 1 _________________________________________________________________________ gis.sh: PROBLEM DESCRIPTION: Had a typo within GIS.sh (gis.shell in the source code) in text that is echoed to the screen when starting GRASS. STATUS: FIXED with update package 1 _________________________________________________________________________ d.3d: PROBLEM DESCRIPTION: 1. Changes were needed to allow erase color, grid color, box color and elevation averaging options to be saved and restored as in GRASS 4.0. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 2. Changes were also needed to allow the user to overwrite existing 3dview files when saving options. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: The interactive version of d.3d used to NOT erase the graphics frame if the user chose "None" or "none" for a color. STATUS: FIXED with update package 3 _________________________________________________________________________ r.contour: PROBLEM DESCRIPTION: Requested levels for contours in r.contour were not being checked appropriately against data values. Program crashed if requested minimum level was greater than maximum data value. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: on some architectures went into endless loop because atof() was not declared double in STATUS: FIXED with update package 4 _________________________________________________________________________ v.cutter: PROBLEM DESCRIPTION: v.cutter did not compile on some architectures STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: v.cutter ignored open area edges (area edges which weren't boundary of any area) and did not give any warning that the topology for the data map is wrong. Now it gives warning so that a user can either snap open ends together or change these open area edges to lines using v.digit. STATUS: FIXED with update package 5 _________________________________________________________________________ v.in.arc: PROBLEM DESCRIPTION: did not compile on some architectures reason: sscanf(txtbuf,tmpbuf); in Do_txt_file.c STATUS: FIXED with update package 1 _________________________________________________________________________ v.in.tig.lndmk: PROBLEM DESCRIPTION: did not compile on intergraph. STATUS: FIXED with update package 2 _________________________________________________________________________ setup script: PROBLEM DESCRIPTION: Did not set environment variables XINCPATH, XMINCPATH, and FINDXLIB correctly STATUS: FIXED with update package 1 _________________________________________________________________________ p.map.new : PROBLEM DESCRIPTION: (GRID) 1. the "textsize" parameter for the "grid" instruction is renamed to "numbersize" (for consistency). STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: (GRID) 2. When drawing a solid line grid of us map in latlon, the horizontal lines are drawn only partially. also ticks smaller than 25 pixels weren't drawn for this map. The reason is that the tick size in pixels is converted to geogr. resolution for plotting, and this resolution is then conv. to integer. Since it can easily be less than 1 degree in lat-lon, the resolution is then 0, so no ticks are drawn. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: 3. Fixed the following problem: p.map.new used to first draw all the objects: barscale, grid, legend,... and remember their labels. and only afterwards draw all the labels together. Obviously when the objects overlapped, it was a problem. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 4. opaque n[no] doesn't work. STATUS: is on the list of things to be fixed PROBLEM DESCRIPTION: 5. sometimes didn't paint the text labels. STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 6. p.map.new didn't check if the text is really provided. It read it into a char string and doesn't check if it's NULL before using it. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: 7. p.map.new sometimes gave segmentation faults when doing legends. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: A barscale option of p.map.new did not work for any locations with resolution in different units (other than meters). This was because the intervals of the bar were just added to eastings to draw the bar, i.e. to draw a bar of 1 km, p.map.new used to call G_plot_line(e, n, e + 1000). STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: As reported by Scott Wade if 2 or more legennds are plotted, all the legends have the same category numbers and descriptions as the first legend, all the other parameters of legends are different. This was because variables nocat, nosite, novect in legentable.c weren't static and were initialized to 0 with each call, which is wrong. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: The legends which looked fine in preview and preview2, were messed up on a plot: all the labels were moved to the top of the box partially overlapping and the bottom half of the box was empty. also the boxheight was not computed correctly based on number of sites, with more than 2 sites it was too short. and boxheight was not computed correctly if there are >1 vector in legend and textsize is small, the box then wass too long. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: Compilation warnings: "vdrawb.c", line 31: warning: possible use of uninitialized variable grey "vdrawb.c", line 94: warning: possible use of uninitialized variable grey "redraw_bar.c", line 41: warning: possible use of uninitialized variable gap STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: Masking the grid with "nodata" masked all the vector files The vectors will even if "masked N" was included in the input file STATUS: FIXED with update package 5 _________________________________________________________________________ r.thin PROBLEM DESCRIPTION: did not remove all the temp files before exit() in case of error. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: Because the pad cells weren't initialized correctly, sometimes if you run r.thin on already thinned map it still removed a very small number of pixels from the boundary. STATUS: FIXED with update package 4 _________________________________________________________________________ m.dem.extract PROBLEM DESCRIPTION: did not remove all the temp files before exit() in case of error. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: in file usgs_num.c G_fatal_error() is called as G_fatal_error(stderr,msg) instead of G_fatal_error(msg) So blank appears instead of the message STATUS: FIXED with update package 4 _________________________________________________________________________ xgd library: PROBLEM DESCRIPTION: didn't compile on HP. STATUS: FIXED with update package 1 _________________________________________________________________________ XDRIVER: PROBLEM DESCRIPTION: 1.for some grass users the GRASS monitor dies when you move the mouse inside it. This is because in the old version the monitor terminated whenever it saw ClientMessage event, assuming that it is a message from the window manager to terminate the monitor. However any Xevent can be sent via Xsend_event() and therefore have type ClientMessage. STATUS: FIXED with update package 1 PROBLEM DESCRIPTION: 2.The fonts for XDRIVER didn't recognize tilda ('~') charachter. STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 2. XDRIVER gets erased sometimes when moved STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 3. XDRIVER didn't get repainted after expose events on some old XServers. STATUS: FIXED with update package 3 PROBLEM DESCRIPTION: 4. XDRIVER didn't compile (could not find X11) on machines with libX11_s.a instead of libX11.a STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: 5. XDRIVER demonstrates other kinds of "weird" behavior on SGI (other than fixed dying problem). STATUS: BEING EXPLORED PROBLEM DESCRIPTION: 6. was passing long instread of long * into XAllocColorCells() (other than fixed dying problem). STATUS: FIXED with update package 5 _________________________________________________________________________ gis libes: PROBLEM DESCRIPTION: 1. G_percent(n,d,s) didn't handle d<=0 or s<=0 properly causing some GRASS programs (r.buffer) to core dump. STATUS; FIXED with update package 3 PROBLEM DESCRIPTION: 2. G_plot_line which calls slowline() will give floating exception when starting and ending points are the same. (v.to.rast didn't work for that reason) STATUS; FIXED with update package 3 PROBLEM DESCRIPTION: 3. G_distance and G_llres_string were not declared in gisdefs.h STATUS; FIXED with update package 3 PROBLEM DESCRIPTION: 4. G_align_window() was rounding inwards in north-south direction so it broke when the resulting resolution was > than north - south STATUS; FIXED with update package 3 PROBLEM DESCRIPTION: 5. not declared as double in gisdefs.h: G_area_of_cell_at_row (row) G_area_of_polygon(x,y,n) STATUS; FIXED with update package 4 PROBLEM DESCRIPTION: 6. users got segmentation fault when GRASS programs (r.patch) called G_rewind_cell_stats() right after G_init_cell_stats() with no calles to G_update_cell_stats() inbetween. STATUS; FIXED with update package 4 8. G_plot_where_en() did not work if the y-resolution of plot space was diff than x-reolution. STATUS: FIXED with update package 4 9. in grid_dist1.c and grid_dist2.c function sc was called with too few arguments. STATUS: FIXED with update package 5 _________________________________________________________________________ r.combine: PROBLEM DESCRIPTION: The documentation says the code will prompt you for output choice: graphics monitor or terminal, but it doesn't and assumes graphics terminal. The reason is that in init_comb.c the parser is only called if there are arguments on the command line: STATUS; FIXED with update package 3 _________________________________________________________________________ s.surf.tps: PROBLEM DESCRIPTION: There are two memory problems in s.surf.tps that cause runtime errors when run on SGI (but not Sun) with very large data sets: 1) local arrays are not being freed in rooutine that is being called more than once 2) not enough memory is allocated for one vector in some cases (4 bytes less) STATUS; FIXED with update package 3 PROBLEM DESCRIPTION: "user1.c", line 260: warning: argument is incompatible with prototype: arg #1 STATUS; FIXED with update package 4 _________________________________________________________________________ v.support: PROBLEM DESCRIPTION: When running v.support on Lat-Lon dig file whose areas cross 180 using build option v.support complains: PNT_TO_AREA failed. In addition it represents the number of areas as 88 when there are considerably fewer areas. This makes it impossible to run v.to.rast. STATUS: in a process of BEING FIXED _________________________________________________________________________ ps.map: PROBLEM DESCRIPTION: Did not plot grid and vecors correctly in lat-lon label placement also didn't work in latlon STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: The manual for ps.map says that fields width and hwidth specify the width of the line in pixels, which is not true: they were actually interpreted as width in user space PostScript coordinates: 1/72 of inch. I made the width double, added width options for outline and grid, and also now the width ni is isnterpreted as n inches. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: Also in file outl_io.c o_write_line() is an exact copy of the write_ln() function in r.poly, which I fixed (GRASS930547) since it was giving segmentation faults. It looks like ps.map is doing exactly what r.poly does: creating a vector file with boundaries of raster areas given a raster file. Seems like a lot to do just to plot a map. If the user makes 10 different plots with the same raster file using outline, then every time exact same vector file is created and deleted. Instead I want to draw little line segments between every pair of differing cells without worrying too much about topology. This will have one drawback: each vector line will be drawn as many little line segments, each with beginning and the end, instead of starting the PostScript path at each node and drawing a continuous line through all the points of vector line like it is done when drawing vector maps. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: ( FIXES from uark) 1. removed the G_strip(buf); instructions in function comment.c to allow leading and trailing spaces in comment file. 2. removed statements: if (fontsize < 10) fontsize = 10; if (fontsize > 50) fontsize = 50; in function do_labels.c so as not to restrict the choice of font size. 3. increased the maximum number of pixels allowed on a page in function map_setup.c : limit = 300000000L; if the total number of pixels is larger than "limit" then ps.map reduces it to limit This change allows us to print layers at their actual resolution. For example: an AVHRR layer at 151 cells per inch. NOTE: we are thinking about assigning different upper limits to different Postscript devices, as an additional parameter in the ps.devices files. 5. changed function ps_clrtbl.c so that category 0's label is read from the cats file rather than replaced by "no data" STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: background none in labels did not work, the box was black The gridnumber size was set to zero if it was >50; Also I want to add linewidth for grid STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: did not find icons for sites if they were in diff. mapset than sites. STATUS: FIXED with update package 5 PROBLEM DESCRIPTION: gave error that temporary mask file is not found and stopped execution when trying to plot masked vectors without plotting raster map. STATUS: FIXED with update package 5 PROBLEM DESCRIPTION: -r (rotate) flag did not work: only the plot was rotated, not the frame. which caused only part of plot to be seen. STATUS: FIXED with update package 5 DESCRIPTION OF CHANGES: took out RASTERLIB and DISPLAYLIB from Gmakefile, since they are not used. STATUS: FIXED with update package 5 _________________________________________________________________________ GISGEN.sh PROBLEM DESCRIPTION: everytime GISGEN.sh runs it creates pipes for communications, since if test ! -f $GISBASE/dev/fifo.$fifo$i tests for file, not a pipe. And therefore doesn't know if pipes already exist. It should be if test ! -p $GISBASE/dev/fifo.$fifo$i STATUS: FIXED with update package 5 _________________________________________________________________________ d.mon: PROBLEM DESCRIPTION: lock mechanism failed if locks directory didn't exist. Also users on the same computer could stp other users' monitors, display to others' monitors. And d.mpn -L would not list the monitors used by other users on the same computer as running. STATUS: fixed with update package 3 PROBLEM DESCRIPTION: The locking mechanism for d.mon fails if the lock directory doesn't have all permissions open. STATUS: on a list of things to be fixed. PROBLEM DESCRIPTION: There is a bug in the reading of the monitorcap file which causes d.mon -l to core dump if there is a blank line in the monitorcap file. STATUS: Fixed with update package 3 _________________________________________________________________________ i.tape.other: PROBLEM DESCRIPTION: i.tape.other doesn't read all the rows The same is true for i.tape.spot STATUS: fixed with update package 3 _________________________________________________________________________ i.tape.spot: PROBLEM DESCRIPTION: i.tape.other doesn't read all the rows The same is true for i.tape.spot STATUS: fixed with update package 3 _________________________________________________________________________ v.apply.census: PROBLEM DESCRIPTION: the program was converting lat/lon to utm and getting the wrong results (specifically it was putting the points into the wrong zone). The cause was the fact that b[20] was not static. The result was that the zone was ALWAYS parsed as zero. STATUS: Fixed with update package 3 PROBLEM DESCRIPTION: Program did not run interactively STATUS: Fixed with update package 3 _________________________________________________________________________ general/gis/Gmakefile: PROBLEM DESCRIPTION: The Gmakefile for src/general/gis doesn't have the right number of arguments to the version.sed script for the gis_intro.tx target. STATUS: Fixed update package 2 _________________________________________________________________________ mapdev/dlg_to_bdlg: PROBLEM DESCRIPTION: Did not compile on Intergraph (rindex() - undefined) STATUS: Fixed with update package 2 _________________________________________________________________________ g.region: PROBLEM DESCRIPTION: gave an error when trying to set the region from a site or vector map whose north-south is smaller than ns_res of the window. Also did not accept vectors or sites alligned along east coordinate or north coordinate. STATUS: Fixed with update package 3 DESCRIPTION OF CHANGES: The interactive version of g.region showed a menu with item # 9 placed in the wrong column. Should be in the left column 'Current Region' instead of the right 'Region Database'. STATUS: FIXED with update package 4 DESCRIPTION OF CHANGES: in general/g.region/cmd line 43: if (G__get_window (&window, "", "WIND", G_mapset()) != NULL) should be if (G__get_window (&window, "", "WIND", G_mapset()) < 0) (because G__get_window (&window, "", "WIND", G_mapset()) returns a pointer STATUS: FIXED with update package 5 _________________________________________________________________________ v.trim: PROBLEM DESCRIPTION: was deleting lines and islands other than the spurs which are shorter than given trimming factor. STATUS: Fixed with update package 3 _________________________________________________________________________ v.in.transects: PROBLEM DESCRIPTION: did not set the default for the separator field correctly. STATUS: Fixed with update package 3 _________________________________________________________________________ r.buffer: PROBLEM DESCRIPTION: tried to calculate the buffer zones even if the map did not contain any non-zero data. STATUS: Fixed with update package 3 _________________________________________________________________________ v.report: PROBLEM DESCRIPTION: did not process the categories properly, because it did not use gis library functions to deal with cats. STATUS: Fixed with update package 3 _________________________________________________________________________ g.setproj: PROBLEM DESCRIPTION: didn't prompt the user in g.setproj for a false-easting(x_0) parameter for tmerc projection. STATUS: Fixed with update package 3 _________________________________________________________________________ g.manual: PROBLEM DESCRIPTION: didn't work with -e flag: -e flag alone gave segmentation fault, -e1 , -ea didn't list anything. STATUS: FIXED with update package 4 _________________________________________________________________________ g.help: PROBLEM DESCRIPTION: still had "GRASS 4.0" as a part of welcome message. STATUS: FIXED with update package 4 _________________________________________________________________________ v.prune: PROBLEM DESCRIPTION: Since the lines get straightened, sometimes the points of attachment of attributes are not on the new lines, and therefore can't be attached by v.support afterwards. Also some area attributes might fall outside new areas. I changed 4.1.0 to reattach line and area attributes to new points so that line attributes are on the new lines, and area attributes are inside new areas. STATUS: FIXED with update package 4 _________________________________________________________________________ v.proj: PROBLEM DESCRIPTION: Out_proj variable was not initialized, and G_format_easting() and G_format_northing() called with Out_proj do not print out coordinates correctly. STATUS: FIXED with update package 4 _________________________________________________________________________ Vect lib: Abstract: correcting functions in Vlib/poly.c PROBLEM DESCRIPTION: 1. Existing function Vect_get_point_in_poly() Was very expensive and didn't guarantee that the resulting point is outside of all the islands. I used tthe same algorithm as in Vect_get_point_in_area() to write Vect_get_point_in_poly_isl() which takes Area and Islands points and finds the point inside area and outside all the islands. PROBLEM DESCRIPTION: 2. Vect_get_point_in_area() needed to be modified to check if the area is empty. Before it would return some point in this case instead of failing, and the received point would fail later in the program calling Vect_get_point_in_area(). PROBLEM DESCRIPTION: 3. the function finding intersections of Y-horiz. line with polygon does not really deal with vertices lying on the Y-line. STATUS: FIXED with update package 4 _________________________________________________________________________ m.dted.extract: PROBLEM DESCRIPTION: m.dted.extract passes wrong arg type to G_scan_*() STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: The variable xnorth was used before it was initialized. STATUS: FIXED with update package 5 _________________________________________________________________________ r.in.ll: PROBLEM DESCRIPTION: The corner lat,lon, accrding to the manual entry, are at the center of the corner cell, not at the edge. The code uses them as if they were egdes, not centered. The fix is to getargs.c to adjust the lat,lon from center to edge. Also the row_col() routine doesn't handle negative values properly. For example row = -.00001 will set row to 0 when it should set it to -1. This is due to the way doubles are cast to ints (negatives round up!). A solution is to use the floor() subroutine. STATUS: FIXED with update package 4 _________________________________________________________________________ v.out.arc: PROBLEM DESCRIPTION: reads the cats labels using sscanf only until the first space. Also the output file is now space delimited, we should provide new option: choice for the field separator, and if user enters space, then we should replace all the spaces within category strings by underlines. STATUS: FIXED with update package 4 _________________________________________________________________________ d.what.vect: PROBLEM DESCRIPTION: d.what.vect used to calculate the area of polygon by calling dig_find_area2() which doesn't work in lat-lon and doesn't work with different units (feet) and does not automatically subtruct area of islands. Now it calls G_area_of_polygon() to calculate area of islands and polygon, and subtructs area of islands. STATUS: FIXED with update package 4 _________________________________________________________________________ i.cluster: PROBLEM DESCRIPTION: the i.cluster class separator parameter is read as integer when it should be a floating number in interactive version of i.cluster. STATUS: FIXED with update package 4 _________________________________________________________________________ v.out.dlg: PROBLEM DESCRIPTION: When the areas being exported are not labeled, v.out.dlg was choosing a centroid of area to be attribute attachment point. This was wrong because such point might lie outside the area. The fix calls a special library routine which computes a point inside the area, close to the center of area. STATUS: FIXED with update package 4 _________________________________________________________________________ btree libes: PROBLEM DESCRIPTION: The btree library (and ibtree) create() function doesn't set the cur element. This causes the next call to seg fault if a rewind() isn't issued first. The fix is to set cur to 0 in the create() call. STATUS: FIXED with update package 4 _________________________________________________________________________ r.poly: PROBLEM DESCRIPTION: Was giving segmentation faults, stopping with the error message "incomplete line" or producing stange output (beggining of one line is connected by straight line to beginning of another line on the map). STATUS: FIXED with update package 4 _________________________________________________________________________ r.line: PROBLEM DESCRIPTION: Acoording to many users r.line stopped in the middle of the map with no warning and created only partial vector image. Sometimes it gave segmentation faults. Other times it stopped with fatal error from write_line() complaining that the line ended unexpectedly. STATUS: FIXED with update package 4 PROBLEM DESCRIPTION: r.line gave an error if a cell had more than 5 non-zero neighbours, but sometimes (very rarely, now it happened for the first time this year :) r.thin result has 6 neighbours for some cell. I read throught the algorithm paper again and decided that this is not implementation problem, that in such situation: ________ | X X| |X X X | | XXX | | XXX | |XX X X| | X X | -------- The algorithm doesn't remove any more pixels. So I am going to change r.line not to exit if the cell has 6 non-zero neighbours. STATUS: FIXED with update package 4 _________________________________________________________________________ r.coin: PROBLEM DESCRIPTION: r.coin, when used in the LL projection, does a summation of wind area without telling the user why it's startup is delayed STATUS: FIXED with update package 4 _________________________________________________________________________ bug.report.sh: PROBLEM DESCRIPTION: gave error when the message of the report had ~ in it. STATUS: FIXED with update package 4 _________________________________________________________________________ s.surf.idw: PROBLEM DESCRIPTION: Gave segmentation fault on SGI STATUS: FIXED with update package 4 _________________________________________________________________________ r.stats: PROBLEM DESCRIPTION: -1lgz gave segmantation fault STATUS: FIXED with update package 4 _________________________________________________________________________ v.out.dxf: PROBLEM DESCRIPTION: v.out.dxf went into the infinite loop because onechar= getc() was tested for EOF, but onechar was declared char (which is unsigned int on her machine) and so the value was never EOF (-1). STATUS: FIXED with update package 4 _________________________________________________________________________ d.rast.edit: DESCRIPTION OF CHANGES: a. ability to edit maps with negative values. this capability existed with the version of d.rast.edit included with the answers distribution, but not with the one in 4.2/src/display... so I put it in. b. 0 as default - a change had been made at CERL that made the default new value for a raster cell being edited to 0, but this was not properly implemented. I made a change to edit.c so that this works. c. main.c does not have the grid_color option. I took this out since the program is primarily interactive, plus, this option can be set while running the program with the menu system. Therefore, the command line option just got in the way when running the program. NOTE: the manual page should be changed so that the command line option for grid_color is removed d. primary change, of couse, was how the program checks to see that the current region resolution matches that of the original map's cell header. Previously, the program simply used an 'if' statement to see if current resolution == header resolution... because of the changes in GRASS region systems from version 3 of GRASS to version 4, this kind of comparison didn't work well. The resolutions are now a result of division, and can be a number with many digits on the right side of the decimal point, and since one could be working with lat/long as well as UTM, it is dangerous to decide where the crucial significant digit is... the new method used (in the edit.c file, incidently) converts raster cell size to meters, then looks at the percentage difference between the current resolution and that of the original map header. My current implementation does not complain until that difference is greater than one percent. e. meanwhile, I made some other minor changes to the other files that make up d.rast.edit, such as eliminating declared variables that weren't being used, and other such things that centerline gave me warnings about... STATUS: FIXED with update package 4 _________________________________________________________________________ r.tiff: DESCRIPTION OF CHANGES: did not compile STATUS: FIXED with update package 4 _________________________________________________________________________ r.gif: DESCRIPTION OF CHANGES: did not compile STATUS: FIXED with update package 4 _________________________________________________________________________ v.autocorr: DESCRIPTION OF CHANGES: description of Ho was wrong STATUS: FIXED with update package 4 _________________________________________________________________________ v.to.rast: DESCRIPTION OF CHANGES: Sometimes a vector map contains 2 identical areas. (this can easily happen after v.in.arc when a file has islands because arc->grass inport is flawed). Now, v.support when it sees and attribute, it finds the smallest area inside which this attribute is located, and attaches this attribute to found area. So it attaches the attribute to only one of identical areas. And the other area is unlabeled. d.what.vect also finds the same area (which happens to have smaller index than unlabeled area, so it reports it correctly. But when v.to.rast goes through list of areas, it first draws labeled area and then draws unlabled copy right on top if it with category 0. The solution is to check for identical areas in v.to.rast and warn user about them and ignore the unlabeled copy. STATUS: FIXED with update package 4 _________________________________________________________________________ display libes: D_popup(): DESCRIPTION OF CHANGES: D_popup computes the text size based on the window height. So that when the window is very high the text is too big to fit inside the window. I changed it to consider max number of chars in a line and the width of the window to compute the text_size. Then I use the smalles of this text site and the text size computed the old ways. This guarantees that the box with text will not be too wide to fit into the window. STATUS: FIXED with update package 4 _________________________________________________________________________ imagery libes: I_WriteSigSet(): DESCRIPTION OF CHANGES: function I_WriteSigSet() should not write classes without any subclasses. Adding a check (nsubclasses > 0) before writing the class. STATUS: FIXED with update package 4 I_tape_advance(): DESCRIPTION OF CHANGES: Did not advaance taape on some architectures. STATUS: FIXED with update package 4 _________________________________________________________________________ i.gensigset: DESCRIPTION OF CHANGES: i.gensigset fails if class has too few pixels. The symptom is that the program tries to reduce the number of subclasses to 0,-1,-2,-3 ... STATUS: FIXED with update package 4 _________________________________________________________________________ gmake.sh DESCRIPTION OF CHANGES: when running gmake4.1 command ($OBJ/make.rules was not created correctly wwhen the file had $(...) in it's name, like STATUS: FIXED with update package 4 _________________________________________________________________________ dig_atts library DESCRIPTION OF CHANGES: read_att_struct() did not check attribute type correctly STATUS: FIXED with update package 4 _________________________________________________________________________ proj library DESCRIPTION OF CHANGES: in src/libes/proj/pj_derive.c line 29: if (fabs(..) > HALFPI) (DERIVS *)0; should be if (fabs(..) > HALFPI) return (DERIVS *)0; STATUS: FIXED with update package 4 _________________________________________________________________________ i.composite: DESCRIPTION OF CHANGES: compilation warnings: "compose.c", line 108: warning: semantics of "/" change in ANSI C; use explicit cast STATUS: FIXED with update package 4 _________________________________________________________________________ r.binfer: DESCRIPTION OF CHANGES: compilation warnings: "binfer.y", line 250: warning: argument is incompatible with prototype: arg #1 "binfer.y", line 253: warning: argument is incompatible with prototype: arg #1 "binfer.y", line 258: warning: argument is incompatible with prototype: arg #1 "binfer.y", line 262: warning: argument is incompatible with prototype: arg #1 "binfer.y", line 373: warning: argument is incompatible with prototype: arg #1 "binfer.y", line 471: warning: argument is incompatible with prototype: arg #1 "binfer.y", line 476: warning: argument is incompatible with prototype: arg #1 "binfer.y", line 487: warning: argument is incompatible with prototype: arg #1 STATUS: FIXED with update package 4 _________________________________________________________________________ GRASS gmakefiles: DESCRIPTION OF CHANGES: Many GRASS Gmakefiles did not have correct dependencies for libraries i.e. if library is changed, running gmake4.1 in the directory of the program would not force recompilation STATUS: FIXED with update package 4 _________________________________________________________________________ d.labels: DESCRIPTION OF CHANGES: When making new lables, an attempt to edit the labels which were just entered cased screen to lock up and not respond to any keys the program had to be killed with cntrl-c. STATUS: FIXED with update package 5 _________________________________________________________________________ d.mapgraph: DESCRIPTION OF CHANGES: did not compile on some architectures STATUS: FIXED with update package 5 _________________________________________________________________________ i.fft: DESCRIPTION OF CHANGES: tape minimum and maximum were computed wrong STATUS: FIXED with update package 5 _________________________________________________________________________ v.digit2: DESCRIPTION OF CHANGES: the function drawcell() was called with no arguments enen though it required a cellhd structure as an argument. STATUS: FIXED with update package 5 _________________________________________________________________________ m.dem.examine: DESCRIPTION OF CHANGES: The double pointer was used where the float pointer was required. This is a problem on architectures where sizeof(double) != sizeof(float) STATUS: FIXED with update package 5 _________________________________________________________________________ r.weight: DESCRIPTION OF CHANGES: assigns a return value of function to a variable: en = print_range (fd, cur_cat, count, len, 9); but print_range in some cases doesn't return anything. STATUS: FIXED with update package 5 _________________________________________________________________________ s.menu: DESCRIPTION OF CHANGES: Calls G_ask_any() with too few arguments. STATUS: FIXED with update package 5 _________________________________________________________________________ d.scale: DESCRIPTION OF CHANGES: d.scale ignores unit information in PROJ_UNITS file also d.scale did not work in lat-lon. STATUS: FIXED with update package 5 _________________________________________________________________________ d.rgb: DESCRIPTION OF CHANGES: in main.c name is declared as arra of pointers but used as a string STATUS: FIXED with update package 5 _________________________________________________________________________ D lib: DESCRIPTION OF CHANGES: getting rid of compilation warnings STATUS: FIXED with update package 5 _________________________________________________________________________ p.colors: DESCRIPTION OF CHANGES: p.colors did not let user set up the color for cat 0. TATUS: FIXED with update package 5 _________________________________________________________________________ src/libes: DESCRIPTION OF CHANGES: oall .h include files in src/libes are outdated duplicates of files with the same names in src/include. They need to be removed. TATUS: FIXED with update package 5