SQLite

Check-in [ceb3a07f55]
Login

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

Overview
Comment:Work around incompatibilities in the windows printf() routine within the new I/O tracing logic. (CVS 3666)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ceb3a07f559b5160232c8bce5446f4d0e8aab92b
User & Date: drh 2007-02-28 06:14:25.000
Context
2007-03-01
00:29
Additional I/O Tracing support. (CVS 3667) (check-in: ed915f579a user: drh tags: trunk)
2007-02-28
06:14
Work around incompatibilities in the windows printf() routine within the new I/O tracing logic. (CVS 3666) (check-in: ceb3a07f55 user: drh tags: trunk)
04:47
Add the undocumented and experimental I/O tracing interface. This interface is likely to change and may be completely abandoned in the near future. (CVS 3665) (check-in: 007ca28389 user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/shell.c.
8
9
10
11
12
13
14
15

16
17
18
19
20
21
22
8
9
10
11
12
13
14

15
16
17
18
19
20
21
22







-
+







**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************
** This file contains code to implement the "sqlite" command line
** utility for accessing SQLite databases.
**
** $Id: shell.c,v 1.159 2007/02/28 04:47:27 drh Exp $
** $Id: shell.c,v 1.160 2007/02/28 06:14:25 drh Exp $
*/
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <assert.h>
#include "sqlite3.h"
#include <ctype.h>
107
108
109
110
111
112
113

114
115
116

117


118
119
120
121
122
123
124
107
108
109
110
111
112
113
114
115
116

117
118
119
120
121
122
123
124
125
126
127







+


-
+

+
+







** This routine works like printf in that its first argument is a
** format string and subsequent arguments are values to be substituted
** in place of % fields.  The result of formatting this string
** is written to iotrace.
*/
static void iotracePrintf(const char *zFormat, ...){
  va_list ap;
  char *z;
  if( iotrace==0 ) return;
  va_start(ap, zFormat);
  vfprintf(iotrace, zFormat, ap);
  z = sqlite3_vmprintf(zFormat, ap);
  va_end(ap);
  fprintf(iotrace, "%s", z);
  sqlite3_free(z);
}


/*
** Determines if a string is a number of not.
*/
static int isNumber(const char *z, int *realnum){