/ Check-in [ce36b647]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Make sure the error message handler is able to deal with NULL expression spans. Ticket #3508. (CVS 5949)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:ce36b6474a62f0a5b8d82968ca9a171f7143ae31
User & Date: drh 2008-11-22 18:28:51
Context
2008-11-22
19:50
fix the compile warnings on OS/2 (CVS 5950) check-in: b7d0ec83 user: pweilbacher tags: trunk
18:28
Make sure the error message handler is able to deal with NULL expression spans. Ticket #3508. (CVS 5949) check-in: ce36b647 user: drh tags: trunk
2008-11-21
23:35
Fix testfixture linking problem by marking unix-only symbol as such. (CVS 5944) check-in: 2ca8b822 user: pweilbacher tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/printf.c.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
/*
** The "printf" code that follows dates from the 1980's.  It is in
** the public domain.  The original comments are included here for
** completeness.  They are very out-of-date but might be useful as
** an historical reference.  Most of the "enhancements" have been backed
** out so that the functionality is now the same as standard printf().
**
** $Id: printf.c,v 1.96 2008/11/20 18:20:28 drh Exp $
**
**************************************************************************
**
** The following modules is an enhanced replacement for the "printf" subroutines
** found in the standard C library.  The following enhancements are
** supported:
**
................................................................................
void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){
  if( p->tooBig | p->mallocFailed ){
    return;
  }
  if( N<0 ){
    N = strlen(z);
  }
  if( N==0 ){
    return;
  }
  if( p->nChar+N >= p->nAlloc ){
    char *zNew;
    if( !p->useMalloc ){
      p->tooBig = 1;
      N = p->nAlloc - p->nChar - 1;







|







 







|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
/*
** The "printf" code that follows dates from the 1980's.  It is in
** the public domain.  The original comments are included here for
** completeness.  They are very out-of-date but might be useful as
** an historical reference.  Most of the "enhancements" have been backed
** out so that the functionality is now the same as standard printf().
**
** $Id: printf.c,v 1.97 2008/11/22 18:28:51 drh Exp $
**
**************************************************************************
**
** The following modules is an enhanced replacement for the "printf" subroutines
** found in the standard C library.  The following enhancements are
** supported:
**
................................................................................
void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){
  if( p->tooBig | p->mallocFailed ){
    return;
  }
  if( N<0 ){
    N = strlen(z);
  }
  if( N==0 || z==0 ){
    return;
  }
  if( p->nChar+N >= p->nAlloc ){
    char *zNew;
    if( !p->useMalloc ){
      p->tooBig = 1;
      N = p->nAlloc - p->nChar - 1;

Added test/tkt3508.test.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 2008 November 22
#
# The author disclaims copyright to this source code.  In place of
# a legal notice, here is a blessing:
#
#    May you do good and not evil.
#    May you find forgiveness for yourself and forgive others.
#    May you share freely, never taking more than you give.
#
#***********************************************************************
# This file implements regression tests for SQLite library. 
#
# $Id: tkt3508.test,v 1.1 2008/11/22 18:28:51 drh Exp $

set testdir [file dirname $argv0]
source $testdir/tester.tcl

do_test tkt3508-1.1 {
  execsql {
    CREATE TABLE modificationsTmp (
      SUBSTRATE_HPRD_ID VARCHAR(80),
      SUBSTRATE_GENE_SYMBOL VARCHAR(80),
      SUBSTRATE_ISOFORM_ID VARCHAR(80),
      SUBSTRATE_REFSEQ_ID VARCHAR(80),
      SITE INTEGER,
      RESIDUE VARCHAR(80),
      ENZYME_NAME VARCHAR(80),
      ENZYME_HPRD_ID VARCHAR(80),
      MODIFICATION_TYPE VARCHAR(80),
      EXPERIMENT_TYPE VARCHAR(80),
      REFERENCE_ID VARCHAR(80)
    );
    select SUBSTRATE_HPRD_ID, count(substrate_refseq_id) as c
      from modificationsTmp where c > 1 group by SUBSTRATE_HPRD_ID;
  }
} {}

finish_test