This is an automated email from the git hooks/post-receive script. sf pushed a commit to annotated tag v1.33 in repository mapcode.
commit 96251b4748d300ca85759079da09d41a7c8dff58 Author: Rijn Buve <[email protected]> Date: Wed Sep 17 10:32:02 2014 +0200 Fixed warnings for GCC and repaired mapcoder.c to compile in Visual Studio 10 --- LICENSE | 0 NOTICE | 0 README | 23 +++++++++++++++++------ example/mapcode.cpp | 19 +++++++++++++++---- mapcode_library.doc | Bin mapcodelib/basics.h | 18 +++++++++++++++++- mapcodelib/mapcoder.c | 29 +++++++++++++++-------------- mapcodelib/mapcoder.h | 0 8 files changed, 64 insertions(+), 25 deletions(-) diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/NOTICE b/NOTICE old mode 100755 new mode 100644 diff --git a/README b/README old mode 100755 new mode 100644 index b5f5b6c..5291e09 --- a/README +++ b/README @@ -49,7 +49,7 @@ of how to use the library. To build the original Mapcode tool, execute: cd example - gcc mapcode.c -o mapcode + gcc mapcode.cpp -o mapcode For help, simply execute the binary file 'mapcode' without no arguments. This tool provides a rather extensive command-line interface to encode and @@ -61,31 +61,42 @@ MAPCODE LIBRARY - RELEASE NOTES ------------------------------------------------------------------------------- 1.33 - Fix to not remove valid results just across the edge of a territory. Iimproved interface readability - and renamed methods to more readable forms. + + Fix to not remove valid results just across the edge of a territory. Improved + interface readability and renamed methods to more readable forms. Removed + several warnings produced by GCC. 1.32 - Added encodeLatLonToSingleMapcode(); fixed 1.29 so no country-wide alternative is produced in edge cases; prevent FIJI failing to - decode at exactly 180 degrees. + + Added encodeLatLonToSingleMapcode(); fixed 1.29 so no country-wide alternative is + produced in edge cases; prevent FIJI failing to decode at exactly 180 degrees. 1.31 + Added compareWithMapcodeFormat(). 1.30 + IUpdated the documentation and extended it with examples and suggestions. 1.29 + Also generate country-wide alternative mapcodes for states. 1.28 - Bug fix for the needless generation of 7-letter alternatives to short mapcodes in large states in India. + + Bug fix for the needless generation of 7-letter alternatives to short mapcodes + in large states in India. 1.27 + Improved (faster) implementation of the function isInArea. 1.26 + Added alias OD ("Odisha") for indian state OR ("Orissa"). 1.25 + Initial release to the public domain. diff --git a/example/mapcode.cpp b/example/mapcode.cpp old mode 100755 new mode 100644 index a33772e..d78fd4d --- a/example/mapcode.cpp +++ b/example/mapcode.cpp @@ -1,6 +1,17 @@ -/** - * Copyright (C) 2014 Stichting Mapcode Foundation - * For terms of use refer to http://www.mapcode.com/downloads.html +/* + * Copyright (C) 2014 Stichting Mapcode Foundation (http://www.mapcode.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ /** @@ -264,7 +275,7 @@ static const char* asCoordinate(double coord, char* target) target = &asCoordinateBuffer[ascoptr]; ascoptr= ((ascoptr != 0) ? 0 : 12); } - sprintf(target,"%s%d.%06d", (negative ? "-" : ""), c / 1000000, c % 1000000); + sprintf(target,"%s%d.%06d", (negative ? "-" : ""), (int) (c / 1000000), (int) (c % 1000000)); return target; } diff --git a/mapcode_library.doc b/mapcode_library.doc old mode 100755 new mode 100644 diff --git a/mapcodelib/basics.h b/mapcodelib/basics.h old mode 100755 new mode 100644 index 1dbb933..4ebc3df --- a/mapcodelib/basics.h +++ b/mapcodelib/basics.h @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2014 Stichting Mapcode Foundation (http://www.mapcode.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #define UWORD unsigned short int // 2-byte unsigned integer #define mapcode_cversion "1.33" @@ -10,7 +26,7 @@ #define ALIASES "2UK=2UT,2CG=2CT,1GU=GUM,1UM=UMI,1VI=VIR,1PR=PRI,1AS=ASM,1MP=MNP,4JB=JBT,4QL=QLD,4TS=TAS,4CX=CXR,4CC=CCK,4NF=NFK,4HM=HMD,4NI=NFK,COL=5CL,5ME=5MX,MEX=5MX,5TM=TAM,5AG=AGU,5BC=BCN,5BS=BCS,5CM=CAM,5CS=CHP,5CH=CHH,5CO=COA,5DF=DIF,5DG=DUR,5GT=GUA,5GR=GRO,5HG=HID,5JA=JAL,5MI=MIC,5MO=MOR,5NA=NAY,5NL=NLE,5OA=OAX,5PB=PUE,5QE=QUE,5QR=ROO,5SL=SLP,5SI=SIN,5SO=SON,5TB=TAB,5TL=TLA,5VE=VER,5YU=YUC,5ZA=ZAC,811=8BJ,812=8TJ,813=8HE,814=8SX,815=8NM,821=8LN,822=8JL,823=8HL,831=8SH,832=8JS,833 [...] #define MAX_CCODE 541 // total number of areas (i.e. recognised iso codes) in this database -static char *entity_iso = "" +static const char *entity_iso = "" "VAT,MCO,GIB,TKL,CCK,BLM,NRU,TUV,MAC,SXM," "MAF,NFK,PCN,BVT,BMU,IOT,SMR,GGY,AIA,MSR," "JEY,CXR,WLF,VGB,LIE,ABW,MHL,ASM,COK,SPM," diff --git a/mapcodelib/mapcoder.c b/mapcodelib/mapcoder.c old mode 100755 new mode 100644 index a753587..6984b21 --- a/mapcodelib/mapcoder.c +++ b/mapcodelib/mapcoder.c @@ -832,16 +832,16 @@ void setup_country( int newccode ) if ( codex==13 ) { iso_count13++; if ( iso_first13<0 ) iso_first13=i; } if ( codex==21 ) { iso_count21++; if ( iso_first21<0 ) iso_first21=i; } - if ( codex==22 ) if (pipe) {if (iso_firstpipe22<0) iso_firstpipe22=i; if (pipe<2) iso_pipeletter22[iso_pipecount22++]=pipeletter(i); else if (iso_firststar22<0) iso_firststar22=i;} else { iso_count22++; if ( iso_first22<0 ) iso_first22=i; } - if ( codex==14 ) if (pipe) {if (iso_firstpipe14<0) iso_firstpipe14=i; if (pipe<2) iso_pipeletter14[iso_pipecount14++]=pipeletter(i); else if (iso_firststar14<0) iso_firststar14=i;} else { iso_count14++; if ( iso_first14<0 ) iso_first14=i; } - if ( codex==23 ) if (pipe) {if (iso_firstpipe23<0) iso_firstpipe23=i; if (pipe<2) iso_pipeletter23[iso_pipecount23++]=pipeletter(i); else if (iso_firststar23<0) iso_firststar23=i;} else { iso_count23++; if ( iso_first23<0 ) iso_first23=i; } - if ( codex==32 ) if (pipe) {if (iso_firstpipe32<0) iso_firstpipe32=i; if (pipe<2) iso_pipeletter32[iso_pipecount32++]=pipeletter(i); else if (iso_firststar32<0) iso_firststar32=i;} else { iso_count32++; if ( iso_first32<0 ) iso_first32=i; } - if ( codex==24 ) if (pipe) {if (iso_firstpipe24<0) iso_firstpipe24=i; if (pipe<2) iso_pipeletter24[iso_pipecount24++]=pipeletter(i); else if (iso_firststar24<0) iso_firststar24=i;} else { iso_count24++; if ( iso_first24<0 ) iso_first24=i; } - if ( codex==33 ) if (pipe) {if (iso_firstpipe33<0) iso_firstpipe33=i; if (pipe<2) iso_pipeletter33[iso_pipecount33++]=pipeletter(i); else if (iso_firststar33<0) iso_firststar33=i;} else { iso_count33++; if ( iso_first33<0 ) iso_first33=i; } - if ( codex==34 ) if (pipe) {if (iso_firstpipe34<0) iso_firstpipe34=i; if (pipe<2) iso_pipeletter34[iso_pipecount34++]=pipeletter(i); else if (iso_firststar34<0) iso_firststar34=i;} else { iso_count34++; if ( iso_first34<0 ) iso_first34=i; } + if ( codex==22 ) { if (pipe) {if (iso_firstpipe22<0) iso_firstpipe22=i; if (pipe<2) iso_pipeletter22[iso_pipecount22++]=pipeletter(i); else if (iso_firststar22<0) iso_firststar22=i;} else { iso_count22++; if ( iso_first22<0 ) iso_first22=i; } } + if ( codex==14 ) { if (pipe) {if (iso_firstpipe14<0) iso_firstpipe14=i; if (pipe<2) iso_pipeletter14[iso_pipecount14++]=pipeletter(i); else if (iso_firststar14<0) iso_firststar14=i;} else { iso_count14++; if ( iso_first14<0 ) iso_first14=i; } } + if ( codex==23 ) { if (pipe) {if (iso_firstpipe23<0) iso_firstpipe23=i; if (pipe<2) iso_pipeletter23[iso_pipecount23++]=pipeletter(i); else if (iso_firststar23<0) iso_firststar23=i;} else { iso_count23++; if ( iso_first23<0 ) iso_first23=i; } } + if ( codex==32 ) { if (pipe) {if (iso_firstpipe32<0) iso_firstpipe32=i; if (pipe<2) iso_pipeletter32[iso_pipecount32++]=pipeletter(i); else if (iso_firststar32<0) iso_firststar32=i;} else { iso_count32++; if ( iso_first32<0 ) iso_first32=i; } } + if ( codex==24 ) { if (pipe) {if (iso_firstpipe24<0) iso_firstpipe24=i; if (pipe<2) iso_pipeletter24[iso_pipecount24++]=pipeletter(i); else if (iso_firststar24<0) iso_firststar24=i;} else { iso_count24++; if ( iso_first24<0 ) iso_first24=i; } } + if ( codex==33 ) { if (pipe) {if (iso_firstpipe33<0) iso_firstpipe33=i; if (pipe<2) iso_pipeletter33[iso_pipecount33++]=pipeletter(i); else if (iso_firststar33<0) iso_firststar33=i;} else { iso_count33++; if ( iso_first33<0 ) iso_first33=i; } } + if ( codex==34 ) { if (pipe) {if (iso_firstpipe34<0) iso_firstpipe34=i; if (pipe<2) iso_pipeletter34[iso_pipecount34++]=pipeletter(i); else if (iso_firststar34<0) iso_firststar34=i;} else { iso_count34++; if ( iso_first34<0 ) iso_first34=i; } } if ( codex==42 ) { iso_count42++; if ( iso_first42<0 ) iso_first42=i; } if ( codex==43 ) { iso_count43++; if ( iso_first43<0 ) iso_first43=i; } - if ( codex==44 ) if (pipe) {if (iso_firstpipe44<0) iso_firstpipe44=i; if (pipe<2) iso_pipeletter44[iso_pipecount44++]=pipeletter(i); else if (iso_firststar44<0) iso_firststar44=i;} else { iso_count44++; if ( iso_first44<0 ) iso_first44=i; } + if ( codex==44 ) { if (pipe) {if (iso_firstpipe44<0) iso_firstpipe44=i; if (pipe<2) iso_pipeletter44[iso_pipecount44++]=pipeletter(i); else if (iso_firststar44<0) iso_firststar44=i;} else { iso_count44++; if ( iso_first44<0 ) iso_first44=i; } } } } @@ -1042,7 +1042,7 @@ void repack_if_alldigits(char *input) char *e; char *dotpos=NULL; - for (e=s;*e!=0 && *e!='-';e++) if (*e<'0' || *e>'9') if (*e=='.' && !dotpos) dotpos=e; else { alldigits=0; break; } + for (e=s;*e!=0 && *e!='-';e++) if (*e<'0' || *e>'9') { if (*e=='.' && !dotpos) dotpos=e; else { alldigits=0; break; } } e--; s=e-1; if (alldigits && dotpos && s>dotpos) // e is last char, s is one before, both are beyond dot, all characters are digits { @@ -1761,7 +1761,7 @@ void master_encode( char *resultbuffer, int the_ctry, long x, long y, int forcec else // must be grid, possibly a multi-area { int multi_area = (pipetype(m)==1 ? 1 : 0); // has pipe letter? - if (codex==21) if (iso_count21==1) codex=22; else continue; + if (codex==21) { if (iso_count21==1) codex=22; else continue; } if ( miny<=y && y<maxy && isInRange(x,minx,maxx) ) if ( codex!=55 ) // exclude Earth 55 @@ -1941,11 +1941,12 @@ int mapcode_encode(char *result,long y, long x, const char *iso3, char *isofound if (isofound) { *isofound=0; - if (*result) + if (*result) { if (resultlen(result)==10) strcpy(isofound,makeiso(ccode_earth,1)); else strcpy(isofound,makeiso(cc,1)); + } } return *result; } @@ -2341,13 +2342,13 @@ int interpret_coord( const unsigned char *i, int islat, double *result ) #define skipnum(i) {while (isdig(*i)) i++;} #define skipfp(i) {skipnum(i); if (*i=='.') {i++;skipnum(i);}} - char *winds = islat ? "nsNS+- " : "ewEW+- "; + const char *winds = islat ? "nsNS+- " : "ewEW+- "; // skip white spaces, signs and appropriate wind direction letters char *p; int sign=1; - while (*i && (p=strchr(winds,*i))!=NULL) { { if ( (p-winds) & 1 ) sign*=-1; } i++; } + while (*i && (p=(char*)strchr(winds,*i))!=NULL) { { if ( (p-(char*)winds) & 1 ) sign*=-1; } i++; } // we are now at a lead digit, or there is an error if (!isdig(*i)) @@ -2380,7 +2381,7 @@ int interpret_coord( const unsigned char *i, int islat, double *result ) } // allow all posisble final endsigns - { while (*i && (p=strchr(winds,*i))!=NULL) { if ( (p-winds) & 1 ) sign*=-1; i++; } } + { while (*i && (p=(char*)strchr(winds,*i))!=NULL) { if ( (p-(char*)winds) & 1 ) sign*=-1; i++; } } // we now MUST be at the end of the string! if (*i) diff --git a/mapcodelib/mapcoder.h b/mapcodelib/mapcoder.h old mode 100755 new mode 100644 -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/mapcode.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

