Re: [Gpsbabel-code] instance data & r/w capabilities
Brought to you by:
robertl
From: Robert L. <rob...@us...> - 2005-01-10 19:28:03
|
Ron Parker wrote: > xcsv actually supports tracks and routes, more or less, in the sense that > if you manually specify -t it'll write the trackpoints in the specified Yep. We really do need to push this into the style formats, but I weenied out: $ grep -i ff_cap xcsv.c FF_CAP_RW_WPT, /* This is a bit of a lie for now... */ > format instead of writing the waypoints. I think it wouldn't hurt to have > flags that indicate whether the format can handle combinations of > waypoint/track/route (as GPX does) and whether it can automatically detect > what it's dealing with or it has to be told. I've been trying to move everything except the serial formats to the auto-detection scheme, but we do still have a number of corner cases. > initialize it to? For that matter, rd_init and wr_init could handle > the initialization of things that are confined to a single -f or -F > operation, provided you just pass in a void ** out-var to rd_init and > then pass the resulting value to read and rd_deinit (ditto for wr*) That's the other variation I considered, but I was thinking that forcing everything to be dynamically allocated I could be heavy handed and "force" modules to the new scheme just by looking at the size of their data. I could go either way. > Note too that several of those static globals are things that are set up > when -i or -o is invoked, so initializing them at -f or -F time (when > rd_init or wr_init is called) would be Bad. We should probably also have > a function that gets called at -i or -o time, perhaps as part of find_vec. That's an interesting point. Sometimes that's intentional but often times it's a bug. > find_vec already defaults all args, but it doesn't handle any variables > that are set up as a result of those args. At the moment, I think that > falls to rd_init or wr_init, but that has never seemed quite right to me > (even though I can't think of an example of such a dependent variable I've never really been happy about that, either. Maybe it's not worth rocking this particular boat. It boils down to a lot of busy work just to try to design a (relatively small) set of bugs away. RJL |