Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0668aa8

Browse files
committed
Adrian Hall reported a problem to me that snprintf() doesn't exist in, atleast, Solaris 2.5.1. We use it in backend/utils/adt/int8.c.Add a check to configure so that we see if it exists or not, and, if not,compile in snprintf.c from backend/port, which was taken from, and falls underthe same Berkeley license as us, the FreeBSD libc/stdio ...
1 parent0d78e8c commit0668aa8

File tree

6 files changed

+262
-112
lines changed

6 files changed

+262
-112
lines changed

‎src/backend/parser/gram.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@
219219
*
220220
*
221221
* IDENTIFICATION
222-
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.20 1998/07/26 02:17:53 momjian Exp $
222+
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.21 1998/08/01 19:30:23 scrappy Exp $
223223
*
224224
* HISTORY
225225
* AUTHORDATEMAJOR EVENT
@@ -255,7 +255,7 @@
255255
#include"utils/elog.h"
256256
#include"access/xact.h"
257257

258-
#ifdefMB
258+
#ifdefMULTIBYTE
259259
#include"mb/pg_wchar.h"
260260
#endif
261261

@@ -3927,7 +3927,7 @@ static const short yycheck[] = { 3,
39273927
182
39283928
};
39293929
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3930-
#line 3 "/usr/local/bison/bison.simple"
3930+
#line 3 "/usr/share/misc/bison.simple"
39313931

39323932
/* Skeleton output parser for bison,
39333933
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -4120,7 +4120,7 @@ __yy_memcpy (char *to, char *from, int count)
41204120
#endif
41214121
#endif
41224122

4123-
#line 196 "/usr/local/bison/bison.simple"
4123+
#line 196 "/usr/share/misc/bison.simple"
41244124

41254125
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
41264126
into yyparse. The argument should have type void *.
@@ -6393,7 +6393,7 @@ case 389:
63936393
}
63946394
n->dbname=yyvsp[-3].str;
63956395
n->dbpath=yyvsp[-1].str;
6396-
#ifdefMB
6396+
#ifdefMULTIBYTE
63976397
if (yyvsp[0].str!=NULL) {
63986398
n->encoding=pg_char_to_encoding(yyvsp[0].str);
63996399
if (n->encoding<0) {
@@ -6414,7 +6414,7 @@ case 390:
64146414
CreatedbStmt*n=makeNode(CreatedbStmt);
64156415
n->dbname=yyvsp[0].str;
64166416
n->dbpath=NULL;
6417-
#ifdefMB
6417+
#ifdefMULTIBYTE
64186418
n->encoding=GetTemplateEncoding();
64196419
#endif
64206420
yyval.node= (Node*)n;
@@ -9518,7 +9518,7 @@ case 854:
95189518
break;}
95199519
}
95209520
/* the action file gets copied in in place of this dollarsign */
9521-
#line 498 "/usr/local/bison/bison.simple"
9521+
#line 498 "/usr/share/misc/bison.simple"
95229522

95239523
yyvsp-=yylen;
95249524
yyssp-=yylen;

‎src/backend/port/Makefile.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# be converted to Method 2.
1414
#
1515
# IDENTIFICATION
16-
# $Header: /cvsroot/pgsql/src/backend/port/Attic/Makefile.in,v 1.16 1998/04/06 00:24:10 momjian Exp $
16+
# $Header: /cvsroot/pgsql/src/backend/port/Attic/Makefile.in,v 1.17 1998/08/01 19:30:27 scrappy Exp $
1717
#
1818
#-------------------------------------------------------------------------
1919

@@ -24,7 +24,7 @@ CFLAGS+= -I..
2424

2525
OBJS = dynloader.o @INET_ATON@ @STRERROR@ @MISSING_RANDOM@ @SRANDOM@
2626
OBJS+= @GETHOSTNAME@ @GETRUSAGE@ @STRCASECMP@ @STRDUP@ @TAS@ @ISINF@
27-
OBJS+= @STRTOL@ @STRTOUL@
27+
OBJS+= @STRTOL@ @STRTOUL@ @SNPRINTF@
2828
all: SUBSYS.o
2929

3030
SUBSYS.o:$(OBJS)

‎src/backend/port/snprintf.c

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
/*-
2+
* Copyright (c) 1990, 1993
3+
*The Regents of the University of California. All rights reserved.
4+
*
5+
* This code is derived from software contributed to Berkeley by
6+
* Chris Torek.
7+
*
8+
* Redistribution and use in source and binary forms, with or without
9+
* modification, are permitted provided that the following conditions
10+
* are met:
11+
* 1. Redistributions of source code must retain the above copyright
12+
* notice, this list of conditions and the following disclaimer.
13+
* 2. Redistributions in binary form must reproduce the above copyright
14+
* notice, this list of conditions and the following disclaimer in the
15+
* documentation and/or other materials provided with the distribution.
16+
* 3. All advertising materials mentioning features or use of this software
17+
* must display the following acknowledgement:
18+
*This product includes software developed by the University of
19+
*California, Berkeley and its contributors.
20+
* 4. Neither the name of the University nor the names of its contributors
21+
* may be used to endorse or promote products derived from this software
22+
* without specific prior written permission.
23+
*
24+
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27+
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30+
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33+
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34+
* SUCH DAMAGE.
35+
*/
36+
37+
#if defined(LIBC_SCCS)&& !defined(lint)
38+
#if0
39+
staticcharsccsid[]="@(#)snprintf.c8.1 (Berkeley) 6/4/93";
40+
#endif
41+
staticconstcharrcsid[]=
42+
"$Id: snprintf.c,v 1.1 1998/08/01 19:30:28 scrappy Exp $";
43+
#endif/* LIBC_SCCS and not lint */
44+
45+
#include<limits.h>
46+
#include<stdio.h>
47+
#if__STDC__
48+
#include<stdarg.h>
49+
#else
50+
#include<varargs.h>
51+
#endif
52+
53+
#if__STDC__
54+
int
55+
snprintf(char*str,size_tn,charconst*fmt, ...)
56+
#else
57+
int
58+
snprintf(str,n,fmt,va_alist)
59+
char*str;
60+
size_tn;
61+
char*fmt;
62+
va_dcl
63+
#endif
64+
{
65+
size_ton;
66+
intret;
67+
va_listap;
68+
FILEf;
69+
70+
on=n;
71+
if (n!=0)
72+
n--;
73+
if (n>INT_MAX)
74+
n=INT_MAX;
75+
#if__STDC__
76+
va_start(ap,fmt);
77+
#else
78+
va_start(ap);
79+
#endif
80+
f._file=-1;
81+
f._flags=__SWR |__SSTR;
82+
f._bf._base=f._p= (unsignedchar*)str;
83+
f._bf._size=f._w=n;
84+
ret=vfprintf(&f,fmt,ap);
85+
if (on>0)
86+
*f._p='\0';
87+
va_end(ap);
88+
return (ret);
89+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp