Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Fixed many uninitialized variable warnings and some potential bug found via -Wall -Werror on gcc. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
e63a9fd9d0356a19c3c29bf847943122 |
| User & Date: | jnc 2007-09-25 21:21:35.000 |
References
|
2007-10-04
| ||
| 17:37 | Changes to cgi.c in check-in [e63a9fd9d0] broke the windows build because of undefined socklen_t. Added the appropriate include file check-in: e7cf189265 user: mjanssen tags: trunk | |
Context
|
2007-09-25
| ||
| 21:28 | Merged the compiler warning fixes into mainstream check-in: 92291035fe user: jnc tags: trunk | |
| 21:21 | Fixed many uninitialized variable warnings and some potential bug found via -Wall -Werror on gcc. check-in: e63a9fd9d0 user: jnc tags: trunk | |
| 20:21 | Styled the vinfo page check-in: cfc7984ede user: jnc tags: trunk | |
Changes
Changes to src/cgi.c.
| ︙ | ︙ | |||
1020 1021 1022 1023 1024 1025 1026 |
malformed_request();
}
cgi_setenv("REQUEST_URI", zToken);
for(i=0; zToken[i] && zToken[i]!='?'; i++){}
if( zToken[i] ) zToken[i++] = 0;
cgi_setenv("PATH_INFO", zToken);
cgi_setenv("QUERY_STRING", &zToken[i]);
| | | 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 |
malformed_request();
}
cgi_setenv("REQUEST_URI", zToken);
for(i=0; zToken[i] && zToken[i]!='?'; i++){}
if( zToken[i] ) zToken[i++] = 0;
cgi_setenv("PATH_INFO", zToken);
cgi_setenv("QUERY_STRING", &zToken[i]);
if( getpeername(fileno(stdin), (struct sockaddr*)&remoteName, (socklen_t*)&size)>=0 ){
char *zIpAddr = inet_ntoa(remoteName.sin_addr);
cgi_setenv("REMOTE_ADDR", zIpAddr);
/* Set the Global.zIpAddr variable to the server we are talking to.
** This is used to populate the ipaddr column of the rcvfrom table,
** if any files are received from the connected client.
*/
|
| ︙ | ︙ | |||
1123 1124 1125 1126 1127 1128 1129 |
}
delay.tv_sec = 60;
delay.tv_usec = 0;
FD_ZERO(&readfds);
FD_SET( listener, &readfds);
if( select( listener+1, &readfds, 0, 0, &delay) ){
lenaddr = sizeof(inaddr);
| | | 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 |
}
delay.tv_sec = 60;
delay.tv_usec = 0;
FD_ZERO(&readfds);
FD_SET( listener, &readfds);
if( select( listener+1, &readfds, 0, 0, &delay) ){
lenaddr = sizeof(inaddr);
connection = accept(listener, (struct sockaddr*)&inaddr, (socklen_t*) &lenaddr);
if( connection>=0 ){
child = fork();
if( child!=0 ){
if( child>0 ) nchildren++;
close(connection);
}else{
close(0);
|
| ︙ | ︙ |
Changes to src/delta.c.
| ︙ | ︙ | |||
332 333 334 335 336 337 338 |
/* Begin scanning the target file and generating copy commands and
** literal sections of the delta.
*/
base = 0; /* We have already generated everything before zOut[base] */
while( base+NHASH<lenOut ){
int iSrc, iBlock;
| | | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 |
/* Begin scanning the target file and generating copy commands and
** literal sections of the delta.
*/
base = 0; /* We have already generated everything before zOut[base] */
while( base+NHASH<lenOut ){
int iSrc, iBlock;
unsigned int bestCnt, bestOfst=0, bestLitsz=0;
hash_init(&h, &zOut[base]);
i = 0; /* Trying to match a landmark against zOut[base+i] */
bestCnt = 0;
while( 1 ){
int hv;
int limit = 250;
|
| ︙ | ︙ |
Changes to src/diff.c.
| ︙ | ︙ | |||
172 173 174 175 176 177 178 |
printf("\n");
}
#endif
x = y = 0;
cnt = nContext;
while( x<nA || y<nB ){
| | | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
printf("\n");
}
#endif
x = y = 0;
cnt = nContext;
while( x<nA || y<nB ){
int t1=0, t2=0;
if( (t1 = M(x+1,y))<0 || (t2 = M(x,y+1))<0 ){
if( cnt>=nContext ){
blob_appendf(pOut, "@@ -%d +%d @@\n",
x-nContext+iStart+2, y-nContext+iStart+2);
for(i=x-nContext+1; i<x; i++){
if( i<0 ) continue;
blob_appendf(pOut, " %s\n", A[i].z);
|
| ︙ | ︙ |
Changes to src/file.c.
| ︙ | ︙ | |||
187 188 189 190 191 192 193 |
if( zOrigName[0]=='/'
|| (strlen(zOrigName)>3 && zOrigName[1]==':' && zOrigName[2]=='\\') ){
blob_set(pOut, zOrigName);
blob_materialize(pOut);
}else{
char zPwd[2000];
if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
| | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
if( zOrigName[0]=='/'
|| (strlen(zOrigName)>3 && zOrigName[1]==':' && zOrigName[2]=='\\') ){
blob_set(pOut, zOrigName);
blob_materialize(pOut);
}else{
char zPwd[2000];
if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
fprintf(stderr, "pwd too big: max %d\n", (int)sizeof(zPwd)-20);
exit(1);
}
blob_zero(pOut);
blob_appendf(pOut, "%//%/", zPwd, zOrigName);
}
blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut)));
}
|
| ︙ | ︙ | |||
226 227 228 229 230 231 232 |
blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut)));
zPath = blob_buffer(pOut);
if( zPath[0]=='/' ){
int i, j;
Blob tmp;
char zPwd[2000];
if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
| | | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut)));
zPath = blob_buffer(pOut);
if( zPath[0]=='/' ){
int i, j;
Blob tmp;
char zPwd[2000];
if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
fprintf(stderr, "pwd too big: max %d\n", (int)sizeof(zPwd)-20);
exit(1);
}
for(i=1; zPath[i] && zPwd[i]==zPath[i]; i++){}
if( zPath[i]==0 ){
blob_reset(pOut);
if( zPwd[i]==0 ){
blob_append(pOut, ".", 1);
|
| ︙ | ︙ |
Changes to src/http.c.
| ︙ | ︙ | |||
119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
#else
pSocket = fdopen(s,"r+");
signal(SIGPIPE, SIG_IGN);
#endif
return 0;
}
/*
** Read the socket until a newline '\n' is found. Return the number
** of characters read. pSockId contains the socket handel. pOut
** contains a pointer to the buffer to write to. pOutSize contains
** the maximum size of the line that pOut can handle.
*/
static int socket_recv_line(int pSockId, char* pOut, int pOutSize){
| > | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
#else
pSocket = fdopen(s,"r+");
signal(SIGPIPE, SIG_IGN);
#endif
return 0;
}
#ifdef __MINGW32__
/*
** Read the socket until a newline '\n' is found. Return the number
** of characters read. pSockId contains the socket handel. pOut
** contains a pointer to the buffer to write to. pOutSize contains
** the maximum size of the line that pOut can handle.
*/
static int socket_recv_line(int pSockId, char* pOut, int pOutSize){
|
| ︙ | ︙ | |||
165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
if( read<0 ){
return 0;
}
blob_append(pBlob, rbuf, read);
}
return blob_size(pBlob);
}
/*
** Make a single attempt to talk to the server. Return TRUE on success
** and FALSE on a failure.
**
** pHeader contains the HTTP header. pPayload contains the content.
** The content of the reply is written into pReply. pReply is assumed
| > | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
if( read<0 ){
return 0;
}
blob_append(pBlob, rbuf, read);
}
return blob_size(pBlob);
}
#endif
/*
** Make a single attempt to talk to the server. Return TRUE on success
** and FALSE on a failure.
**
** pHeader contains the HTTP header. pPayload contains the content.
** The content of the reply is written into pReply. pReply is assumed
|
| ︙ | ︙ |
Changes to src/manifest.c.
| ︙ | ︙ | |||
570 571 572 573 574 575 576 577 578 579 580 581 582 583 |
int tid;
int type;
tid = uuid_to_rid(m.aTag[i].zUuid, 1);
switch( m.aTag[i].zName[0] ){
case '+': type = 1; break;
case '*': type = 2; break;
case '-': type = 0; break;
}
tag_insert(&m.aTag[i].zName[1], type, m.aTag[i].zValue,
rid, m.rDate, tid);
}
if( parentid ){
tag_propagate_all(parentid);
}
| > > > | 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 |
int tid;
int type;
tid = uuid_to_rid(m.aTag[i].zUuid, 1);
switch( m.aTag[i].zName[0] ){
case '+': type = 1; break;
case '*': type = 2; break;
case '-': type = 0; break;
default:
fossil_fatal("unknown tag type in manifest: %s", m.aTag);
return 0;
}
tag_insert(&m.aTag[i].zName[1], type, m.aTag[i].zValue,
rid, m.rDate, tid);
}
if( parentid ){
tag_propagate_all(parentid);
}
|
| ︙ | ︙ |
Changes to src/name.c.
| ︙ | ︙ | |||
97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
zOrig[sz-1]--;
fossil_error(iErrPriority, "non-unique name prefix: %s", zOrig);
rc = 1;
}else{
rc = 0;
}
}
}
return rc;
}
/*
** COMMAND: test-name-to-uuid
**
| > > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
zOrig[sz-1]--;
fossil_error(iErrPriority, "non-unique name prefix: %s", zOrig);
rc = 1;
}else{
rc = 0;
}
}
}else{
rc = 0;
}
return rc;
}
/*
** COMMAND: test-name-to-uuid
**
|
| ︙ | ︙ |
Changes to src/pivot.c.
| ︙ | ︙ | |||
80 81 82 83 84 85 86 |
/*
** Find the most recent common ancestor of the primary and one of
** the secondaries. Return its rid. Return 0 if no common ancestor
** can be found.
*/
int pivot_find(void){
Stmt q1, q2, u1, i1;
| | | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
/*
** Find the most recent common ancestor of the primary and one of
** the secondaries. Return its rid. Return 0 if no common ancestor
** can be found.
*/
int pivot_find(void){
Stmt q1, q2, u1, i1;
int rid = 0;
/* aqueue must contain at least one primary and one other. Otherwise
** we abort early
*/
if( db_int(0, "SELECT count(distinct src) FROM aqueue")<2 ){
fossil_panic("lack both primary and secondary files");
}
|
| ︙ | ︙ |
Changes to src/style.c.
| ︙ | ︙ | |||
106 107 108 109 110 111 112 |
@ | <a href="%s(g.zBaseURL)/setup">Setup</a>
}
if( !g.noPswd ){
@ | <a href="%s(g.zBaseURL)/login">%s(zLogInOut)</a>
}
@ </div>
if( nSubmenu>0 ){
| < > | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
@ | <a href="%s(g.zBaseURL)/setup">Setup</a>
}
if( !g.noPswd ){
@ | <a href="%s(g.zBaseURL)/login">%s(zLogInOut)</a>
}
@ </div>
if( nSubmenu>0 ){
int i;
@ <div id="sub-menu">
qsort(aSubmenu, nSubmenu, sizeof(aSubmenu[0]), submenuCompare);
for(i=0; i<nSubmenu; i++){
struct Submenu *p = &aSubmenu[i];
char *zTail = i<nSubmenu-1 ? " | " : "";
if( p->zLink==0 ){
@ <span class="label">%h(p->zLabel)</span>
@ <span class="tail">%s(zTail)</span>
|
| ︙ | ︙ |
Changes to src/sync.c.
| ︙ | ︙ | |||
30 31 32 33 34 35 36 |
/*
** Determine if an autosync should be done or not. The config setting,
** autosync must start with 1, y or Y. The last-sync-url must also be
** defined.
*/
int do_autosync(void){
const char *zAutoSync = db_global_get("autosync", 0);
| | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
/*
** Determine if an autosync should be done or not. The config setting,
** autosync must start with 1, y or Y. The last-sync-url must also be
** defined.
*/
int do_autosync(void){
const char *zAutoSync = db_global_get("autosync", 0);
if( zAutoSync!=0
&& (zAutoSync[0]=='1' || zAutoSync[0]=='y' || zAutoSync[0]=='Y')
&& db_get("last-sync-url", 0)!=0 ){
return 1;
}else{
return 0;
}
}
|
| ︙ | ︙ |
Changes to src/tag.c.
| ︙ | ︙ | |||
230 231 232 233 234 235 236 |
usage("TAGNAME UUID ?VALUE?");
}
zTag = g.argv[2];
switch( zTag[0] ){
case '+': tagtype = 1; break;
case '*': tagtype = 2; break;
case '-': tagtype = 0; break;
| > | > | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
usage("TAGNAME UUID ?VALUE?");
}
zTag = g.argv[2];
switch( zTag[0] ){
case '+': tagtype = 1; break;
case '*': tagtype = 2; break;
case '-': tagtype = 0; break;
default:
fossil_fatal("tag should begin with '+', '*', or '-'");
return;
}
rid = name_to_rid(g.argv[3]);
if( rid==0 ){
fossil_fatal("no such object: %s", g.argv[3]);
}
zValue = g.argc==5 ? g.argv[4] : 0;
db_begin_transaction();
|
| ︙ | ︙ |
Changes to src/timeline.c.
| ︙ | ︙ | |||
394 395 396 397 398 399 400 |
** 4. Number of non-merge children
** 5. Number of parents
*/
void print_timeline(Stmt *q, int mxLine){
int nLine = 0;
char zPrevDate[20];
char *delims;
| | | 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 |
** 4. Number of non-merge children
** 5. Number of parents
*/
void print_timeline(Stmt *q, int mxLine){
int nLine = 0;
char zPrevDate[20];
char *delims;
const char *zCurrentUuid=0;
Stmt currentQ;
int rid = db_lget_int("checkout", 0);
zPrevDate[0] = 0;
db_prepare(¤tQ,
"SELECT uuid"
" FROM blob WHERE rid=%d", rid
|
| ︙ | ︙ |