diff options
| author | Frank Warmerdam <warmerdam@pobox.com> | 2004-10-28 16:05:37 +0000 |
|---|---|---|
| committer | Frank Warmerdam <warmerdam@pobox.com> | 2004-10-28 16:05:37 +0000 |
| commit | df972a044023b6aa99e7d8d056a7533370abce88 (patch) | |
| tree | 3e08f07ad99961ec52aa74ca2ba8fea014ca3e3b /src | |
| parent | fb5affcf0f6c71be146070be63be730f836576f5 (diff) | |
| download | PROJ-df972a044023b6aa99e7d8d056a7533370abce88.tar.gz PROJ-df972a044023b6aa99e7d8d056a7533370abce88.zip | |
avoid using global variables from DLL
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1255 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src')
| -rw-r--r-- | src/cs2cs.c | 17 | ||||
| -rw-r--r-- | src/emess.c | 3 | ||||
| -rw-r--r-- | src/geod.c | 7 | ||||
| -rw-r--r-- | src/geod_set.c | 6 | ||||
| -rw-r--r-- | src/proj.c | 12 |
5 files changed, 25 insertions, 20 deletions
diff --git a/src/cs2cs.c b/src/cs2cs.c index 39b82d8b..e94e71a8 100644 --- a/src/cs2cs.c +++ b/src/cs2cs.c @@ -29,6 +29,9 @@ ****************************************************************************** * * $Log$ + * Revision 1.8 2004/10/28 16:05:37 fwarmerdam + * avoid using global variables from DLL + * * Revision 1.7 2003/03/25 17:53:13 warmerda * modified so that -f formats are used for Z as well * @@ -197,7 +200,7 @@ int main(int argc, char **argv) else emess_dat.Prog_name = *argv; inverse = ! strncmp(emess_dat.Prog_name, "inv", 3); if (argc <= 1 ) { - (void)fprintf(stderr, usage, pj_release, emess_dat.Prog_name); + (void)fprintf(stderr, usage, pj_get_release(), emess_dat.Prog_name); exit (0); } /* process run line arguments */ @@ -227,7 +230,7 @@ int main(int argc, char **argv) int do_long = arg[1] == 'P', c; char *str; - for (lp = pj_list ; lp->id ; ++lp) { + for (lp = pj_get_list_ref() ; lp->id ; ++lp) { (void)printf("%s : ", lp->id); if (do_long) /* possibly multiline description */ (void)puts(*lp->descr); @@ -242,7 +245,7 @@ int main(int argc, char **argv) struct PJ_LIST *lp; arg += 2; - for (lp = pj_list ; lp->id ; ++lp) + for (lp = pj_get_list_ref() ; lp->id ; ++lp) if (!strcmp(lp->id, arg)) { (void)printf("%9s : %s\n", lp->id, *lp->descr); break; @@ -250,20 +253,20 @@ int main(int argc, char **argv) } else if (arg[1] == 'e') { /* list ellipses */ struct PJ_ELLPS *le; - for (le = pj_ellps; le->id ; ++le) + for (le = pj_get_ellps_ref(); le->id ; ++le) (void)printf("%9s %-16s %-16s %s\n", le->id, le->major, le->ell, le->name); } else if (arg[1] == 'u') { /* list units */ struct PJ_UNITS *lu; - for (lu = pj_units; lu->id ; ++lu) + for (lu = pj_get_units_ref(); lu->id ; ++lu) (void)printf("%12s %-20s %s\n", lu->id, lu->to_meter, lu->name); } else if (arg[1] == 'd') { /* list datums */ struct PJ_DATUMS *ld; printf("__datum_id__ __ellipse___ __definition/comments______________________________\n" ); - for (ld = pj_datums; ld->id ; ++ld) + for (ld = pj_get_datums_ref(); ld->id ; ++ld) { printf("%12s %-12s %-30s\n", ld->id, ld->ellipse_id, ld->defn); @@ -273,7 +276,7 @@ int main(int argc, char **argv) } else if( arg[1] == 'm') { /* list prime meridians */ struct PJ_PRIME_MERIDIANS *lpm; - for (lpm = pj_prime_meridians; lpm->id ; ++lpm) + for (lpm = pj_get_prime_meridians_ref(); lpm->id ; ++lpm) (void)printf("%12s %-30s\n", lpm->id, lpm->defn); } else diff --git a/src/emess.c b/src/emess.c index 81be83ec..a9ef6dd3 100644 --- a/src/emess.c +++ b/src/emess.c @@ -18,7 +18,8 @@ emess(int code, char *fmt, ...) { va_start(args, fmt); /* prefix program name, if given */ if (fmt != NULL) - (void)fprintf(stderr,"%s\n<%s>: ",pj_release,emess_dat.Prog_name); + (void)fprintf(stderr,"%s\n<%s>: ",pj_get_release(), + emess_dat.Prog_name); /* print file name and line, if given */ if (emess_dat.File_name != NULL && *emess_dat.File_name) { (void)fprintf(stderr,"while processing file: %s", emess_dat.File_name); @@ -138,7 +138,8 @@ int main(int argc, char **argv) { else emess_dat.Prog_name = *argv; inverse = ! strncmp(emess_dat.Prog_name, "inv", 3); if (argc <= 1 ) { - (void)fprintf(stderr, usage, pj_release, emess_dat.Prog_name); + (void)fprintf(stderr, usage, pj_get_release(), + emess_dat.Prog_name); exit (0); } /* process run line arguments */ @@ -179,13 +180,13 @@ noargument: emess(1,"missing argument for -%c",*arg); if (!arg[1] || arg[1] == 'e') { /* list of ellipsoids */ struct PJ_ELLPS *le; - for (le = pj_ellps; le->id ; ++le) + for (le=pj_get_ellps_ref(); le->id ; ++le) (void)printf("%9s %-16s %-16s %s\n", le->id, le->major, le->ell, le->name); } else if (arg[1] == 'u') { /* list of units */ struct PJ_UNITS *lu; - for (lu = pj_units; lu->id ; ++lu) + for (lu = pj_get_units_ref();lu->id ; ++lu) (void)printf("%12s %-20s %s\n", lu->id, lu->to_meter, lu->name); } else diff --git a/src/geod_set.c b/src/geod_set.c index 7f3595eb..c8c9167b 100644 --- a/src/geod_set.c +++ b/src/geod_set.c @@ -28,11 +28,11 @@ geod_set(int argc, char **argv) { /* set units */ if (name = pj_param(start, "sunits").s) { char *s; - - for (i = 0; (s = pj_units[i].id) && strcmp(name, s) ; ++i) ; + struct PJ_UNITS *unit_list = pj_get_units_ref(); + for (i = 0; (s = unit_list[i].id) && strcmp(name, s) ; ++i) ; if (!s) emess(1,"%s unknown unit conversion id", name); - fr_meter = 1. / (to_meter = atof(pj_units[i].to_meter)); + fr_meter = 1. / (to_meter = atof(unit_list[i].to_meter)); } else to_meter = fr_meter = 1.; if (ellipse = es != 0.) { @@ -255,7 +255,7 @@ int main(int argc, char **argv) { else emess_dat.Prog_name = *argv; inverse = ! strncmp(emess_dat.Prog_name, "inv", 3); if (argc <= 1 ) { - (void)fprintf(stderr, usage, pj_release, emess_dat.Prog_name); + (void)fprintf(stderr, usage, pj_get_release(), emess_dat.Prog_name); exit (0); } /* process run line arguments */ @@ -300,7 +300,7 @@ int main(int argc, char **argv) { int do_long = arg[1] == 'P', c; char *str; - for (lp = pj_list ; lp->id ; ++lp) { + for (lp = pj_get_list_ref() ; lp->id ; ++lp) { if( strcmp(lp->id,"latlong") == 0 || strcmp(lp->id,"longlat") == 0 || strcmp(lp->id,"geocent") == 0 ) @@ -320,7 +320,7 @@ int main(int argc, char **argv) { struct PJ_LIST *lp; arg += 2; - for (lp = pj_list ; lp->id ; ++lp) + for (lp = pj_get_list_ref(); lp->id ; ++lp) if (!strcmp(lp->id, arg)) { (void)printf("%9s : %s\n", lp->id, *lp->descr); break; @@ -328,20 +328,20 @@ int main(int argc, char **argv) { } else if (arg[1] == 'e') { /* list ellipses */ struct PJ_ELLPS *le; - for (le = pj_ellps; le->id ; ++le) + for (le = pj_get_ellps_ref(); le->id ; ++le) (void)printf("%9s %-16s %-16s %s\n", le->id, le->major, le->ell, le->name); } else if (arg[1] == 'u') { /* list units */ struct PJ_UNITS *lu; - for (lu = pj_units; lu->id ; ++lu) + for (lu = pj_get_units_ref(); lu->id ; ++lu) (void)printf("%12s %-20s %s\n", lu->id, lu->to_meter, lu->name); } else if (arg[1] == 'd') { /* list datums */ struct PJ_DATUMS *ld; printf("__datum_id__ __ellipse___ __definition/comments______________________________\n" ); - for (ld = pj_datums; ld->id ; ++ld) + for (ld = pj_get_datums_ref(); ld->id ; ++ld) { printf("%12s %-12s %-30s\n", ld->id, ld->ellipse_id, ld->defn); |
