[GRASS-dev] Re: [GRASS GIS] #1159: v.in.ascii fails with long text
file in WinGRASS-6.4.0-1
GRASS GIS
trac at osgeo.org
Thu Sep 16 19:48:47 EDT 2010
#1159: v.in.ascii fails with long text file in WinGRASS-6.4.0-1
------------------------+---------------------------------------------------
Reporter: lponti | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 6.4.1
Component: Vector | Version: 6.4.0
Keywords: v.in.ascii | Platform: MSWindows 7
Cpu: x86-32 |
------------------------+---------------------------------------------------
Comment(by hamish):
ok, thanks,
{{{
...
D2/3: Write 71 rows
D2/3: Written 71 records
Fülle Tabelle...
D2/3: db_close_database() result: 0 (0 means success)
D2/3: db_shutdown_driver() failed
}}}
ok, from Luigi's tests we know it is DB backend independent, and from
Helmut's test we know it is the driver shutdown not the closing of the
database.
{{{
ERROR: Konnte Attributetabelle nicht schliessen. Der DBMI-Treiber hat
nicht alle Attribute akzeptiert.
}}}
(could you run with "LANG=C v.in.ascii ..."? I can guess the meaning but
my deutsch is not as good as your english..)
in 6.5svn db_shutdown_driver() for WinGrass effectively boils down to:
{{{
#include <stdlib.h>
#include <process.h>
#include <grass/dbmi.h>
#include "macros.h"
/*!
\brief Closedown the driver, and free the driver structure
<b>Note:</b> the management of the memory for the driver structure
probably should be handled differently.
db_start_driver() could take a pointer to driver structure as
an argument, instead of returning the pointer to allocated
then there would be no hidden free required
\param driver db driver
\return status (?)
*/
int db_shutdown_driver(dbDriver * driver)
{
int status;
db__set_protocol_fds(driver->send, driver->recv);
DB_START_PROCEDURE_CALL(DB_PROC_SHUTDOWN_DRIVER);
/* close the communication FILEs */
fclose(driver->send);
fclose(driver->recv);
driver->send = NULL;
driver->recv = NULL;
/* wait for the driver to finish */
status = -1;
/* TODO: convert status to something like from wait? */
_cwait(&status, driver->pid, WAIT_CHILD);
driver->pid = 0;
/* free the driver structure. THIS IS GOOFY */
free(driver);
return status;
}
but that's about all the help I can give,
Hamish
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1159#comment:7>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list