Fossil SCM

Fix the FOSSIL_VERSION_NUMBER macro so that it is always of the form XYYZZ X is the major version number (ex: 2) and YY is the minor version number and ZZ is the patch number, or 0.

drh 2017-02-28 22:34 fossil-2.0
Commit 2dce6a921198736cd75a25edc1f3e4fa6233423e
1 file changed +6 -5
+6 -5
--- src/mkversion.c
+++ src/mkversion.c
@@ -12,11 +12,12 @@
1212
#include <stdlib.h>
1313
1414
int main(int argc, char *argv[]){
1515
FILE *m,*u,*v;
1616
char *z;
17
- int i, x, d;
17
+ int i, j, x, d;
18
+ int vn[3];
1819
char b[1000];
1920
char vx[1000];
2021
memset(b,0,sizeof(b));
2122
memset(vx,0,sizeof(vx));
2223
u = fopen(argv[1],"r");
@@ -45,25 +46,25 @@
4546
fclose(v);
4647
for(z=b; z[0] && z[0]!='\r' && z[0]!='\n'; z++){}
4748
*z = 0;
4849
printf("#define RELEASE_VERSION \"%s\"\n", b);
4950
x=0;
50
- i=0;
51
+ i=j=0;
5152
z=b;
53
+ vn[0] = vn[1] = vn[2] = 0;
5254
while(1){
5355
if( z[0]>='0' && z[0]<='9' ){
5456
x = x*10 + z[0] - '0';
5557
}else{
56
- sprintf(&vx[i],"%02d",x);
57
- i += 2;
58
+ if( j<3 ) vn[j++] = x;
5859
x = 0;
5960
if( z[0]==0 ) break;
6061
}
6162
z++;
6263
}
6364
for(z=vx; z[0]=='0'; z++){}
64
- printf("#define RELEASE_VERSION_NUMBER %s\n", z);
65
+ printf("#define RELEASE_VERSION_NUMBER %d%02d%02d\n", vn[0], vn[1], vn[2]);
6566
memset(vx,0,sizeof(vx));
6667
strcpy(vx,b);
6768
d = 0;
6869
for(z=vx; z[0]; z++){
6970
if( z[0]=='-' ){
7071
--- src/mkversion.c
+++ src/mkversion.c
@@ -12,11 +12,12 @@
12 #include <stdlib.h>
13
14 int main(int argc, char *argv[]){
15 FILE *m,*u,*v;
16 char *z;
17 int i, x, d;
 
18 char b[1000];
19 char vx[1000];
20 memset(b,0,sizeof(b));
21 memset(vx,0,sizeof(vx));
22 u = fopen(argv[1],"r");
@@ -45,25 +46,25 @@
45 fclose(v);
46 for(z=b; z[0] && z[0]!='\r' && z[0]!='\n'; z++){}
47 *z = 0;
48 printf("#define RELEASE_VERSION \"%s\"\n", b);
49 x=0;
50 i=0;
51 z=b;
 
52 while(1){
53 if( z[0]>='0' && z[0]<='9' ){
54 x = x*10 + z[0] - '0';
55 }else{
56 sprintf(&vx[i],"%02d",x);
57 i += 2;
58 x = 0;
59 if( z[0]==0 ) break;
60 }
61 z++;
62 }
63 for(z=vx; z[0]=='0'; z++){}
64 printf("#define RELEASE_VERSION_NUMBER %s\n", z);
65 memset(vx,0,sizeof(vx));
66 strcpy(vx,b);
67 d = 0;
68 for(z=vx; z[0]; z++){
69 if( z[0]=='-' ){
70
--- src/mkversion.c
+++ src/mkversion.c
@@ -12,11 +12,12 @@
12 #include <stdlib.h>
13
14 int main(int argc, char *argv[]){
15 FILE *m,*u,*v;
16 char *z;
17 int i, j, x, d;
18 int vn[3];
19 char b[1000];
20 char vx[1000];
21 memset(b,0,sizeof(b));
22 memset(vx,0,sizeof(vx));
23 u = fopen(argv[1],"r");
@@ -45,25 +46,25 @@
46 fclose(v);
47 for(z=b; z[0] && z[0]!='\r' && z[0]!='\n'; z++){}
48 *z = 0;
49 printf("#define RELEASE_VERSION \"%s\"\n", b);
50 x=0;
51 i=j=0;
52 z=b;
53 vn[0] = vn[1] = vn[2] = 0;
54 while(1){
55 if( z[0]>='0' && z[0]<='9' ){
56 x = x*10 + z[0] - '0';
57 }else{
58 if( j<3 ) vn[j++] = x;
 
59 x = 0;
60 if( z[0]==0 ) break;
61 }
62 z++;
63 }
64 for(z=vx; z[0]=='0'; z++){}
65 printf("#define RELEASE_VERSION_NUMBER %d%02d%02d\n", vn[0], vn[1], vn[2]);
66 memset(vx,0,sizeof(vx));
67 strcpy(vx,b);
68 d = 0;
69 for(z=vx; z[0]; z++){
70 if( z[0]=='-' ){
71

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button