aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2004-10-28 16:05:37 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2004-10-28 16:05:37 +0000
commitdf972a044023b6aa99e7d8d056a7533370abce88 (patch)
tree3e08f07ad99961ec52aa74ca2ba8fea014ca3e3b /src
parentfb5affcf0f6c71be146070be63be730f836576f5 (diff)
downloadPROJ-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.c17
-rw-r--r--src/emess.c3
-rw-r--r--src/geod.c7
-rw-r--r--src/geod_set.c6
-rw-r--r--src/proj.c12
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);
diff --git a/src/geod.c b/src/geod.c
index 68a48e22..9122ac1e 100644
--- a/src/geod.c
+++ b/src/geod.c
@@ -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.) {
diff --git a/src/proj.c b/src/proj.c
index 887d1413..4a32f0e4 100644
--- a/src/proj.c
+++ b/src/proj.c
@@ -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);