558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
|
break;
case etPATH: {
int i;
int limit = flag_alternateform ? va_arg(ap,int) : -1;
char *e = va_arg(ap,char*);
if( e==0 ){e="";}
length = StrNLen32(e, limit);
zExtra = bufpt = malloc(length+1);
for( i=0; i<length; i++ ){
if( e[i]=='\\' ){
bufpt[i]='/';
}else{
bufpt[i]=e[i];
}
}
|
|
|
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
|
break;
case etPATH: {
int i;
int limit = flag_alternateform ? va_arg(ap,int) : -1;
char *e = va_arg(ap,char*);
if( e==0 ){e="";}
length = StrNLen32(e, limit);
zExtra = bufpt = fossil_malloc(length+1);
for( i=0; i<length; i++ ){
if( e[i]=='\\' ){
bufpt[i]='/';
}else{
bufpt[i]=e[i];
}
}
|
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
|
Blob *pBlob = va_arg(ap, Blob*);
char *zOrig = blob_buffer(pBlob);
int i, j, n, cnt;
n = blob_size(pBlob);
if( limit>=0 && limit<n ) n = limit;
for(cnt=i=0; i<n; i++){ if( zOrig[i]=='\'' ) cnt++; }
if( n+cnt+2 > etBUFSIZE ){
bufpt = zExtra = malloc( n + cnt + 2 );
}else{
bufpt = buf;
}
bufpt[0] = '\'';
for(i=0, j=1; i<n; i++, j++){
if( zOrig[i]=='\'' ){ bufpt[j++] = '\''; }
bufpt[j] = zOrig[i];
|
|
|
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
|
Blob *pBlob = va_arg(ap, Blob*);
char *zOrig = blob_buffer(pBlob);
int i, j, n, cnt;
n = blob_size(pBlob);
if( limit>=0 && limit<n ) n = limit;
for(cnt=i=0; i<n; i++){ if( zOrig[i]=='\'' ) cnt++; }
if( n+cnt+2 > etBUFSIZE ){
bufpt = zExtra = fossil_malloc( n + cnt + 2 );
}else{
bufpt = buf;
}
bufpt[0] = '\'';
for(i=0, j=1; i<n; i++, j++){
if( zOrig[i]=='\'' ){ bufpt[j++] = '\''; }
bufpt[j] = zOrig[i];
|
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
|
if( limit<0 ) limit = strlen(escarg);
for(i=n=0; i<limit; i++){
if( escarg[i]=='\'' ) n++;
}
needQuote = !isnull && xtype==etSQLESCAPE2;
n += i + 1 + needQuote*2;
if( n>etBUFSIZE ){
bufpt = zExtra = malloc( n );
if( bufpt==0 ) return -1;
}else{
bufpt = buf;
}
j = 0;
if( needQuote ) bufpt[j++] = '\'';
for(i=0; i<limit; i++){
bufpt[j++] = ch = escarg[i];
|
|
<
|
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
|
if( limit<0 ) limit = strlen(escarg);
for(i=n=0; i<limit; i++){
if( escarg[i]=='\'' ) n++;
}
needQuote = !isnull && xtype==etSQLESCAPE2;
n += i + 1 + needQuote*2;
if( n>etBUFSIZE ){
bufpt = zExtra = fossil_malloc( n );
}else{
bufpt = buf;
}
j = 0;
if( needQuote ) bufpt[j++] = '\'';
for(i=0; i<limit; i++){
bufpt[j++] = ch = escarg[i];
|