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

Commitb7d236d

Browse files
committed
Make sure contrib C functions are marked strict where needed.
Kris Jurka
1 parent750d917 commitb7d236d

File tree

7 files changed

+48
-63
lines changed

7 files changed

+48
-63
lines changed

‎contrib/chkpass/chkpass.c

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* darcy@druid.net
55
* http://www.druid.net/darcy/
66
*
7-
* $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.12 2003/11/29 22:39:18 pgsql Exp $
7+
* $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.13 2005/01/29 22:35:01 tgl Exp $
88
* best viewed with tabs set to 4
99
*/
1010

@@ -82,14 +82,10 @@ chkpass_in(PG_FUNCTION_ARGS)
8282
}
8383

8484
if (verify_pass(str)!=0)
85-
{
8685
ereport(ERROR,
8786
(errcode(ERRCODE_DATA_EXCEPTION),
8887
errmsg("password \"%s\" is weak",str)));
8988

90-
PG_RETURN_POINTER(NULL);
91-
}
92-
9389
result= (chkpass*)palloc(sizeof(chkpass));
9490

9591
mysalt[0]=salt_chars[random()&0x3f];
@@ -112,9 +108,6 @@ chkpass_out(PG_FUNCTION_ARGS)
112108
chkpass*password= (chkpass*)PG_GETARG_POINTER(0);
113109
char*result;
114110

115-
if (password==NULL)
116-
PG_RETURN_POINTER(NULL);
117-
118111
if ((result= (char*)palloc(16))!=NULL)
119112
{
120113
result[0]=':';
@@ -134,10 +127,7 @@ Datum
134127
chkpass_rout(PG_FUNCTION_ARGS)
135128
{
136129
chkpass*password= (chkpass*)PG_GETARG_POINTER(0);
137-
text*result=NULL;
138-
139-
if (password==NULL)
140-
PG_RETURN_POINTER(NULL);
130+
text*result;
141131

142132
if ((result= (text*)palloc(VARHDRSZ+16))!=NULL)
143133
{
@@ -162,9 +152,6 @@ chkpass_eq(PG_FUNCTION_ARGS)
162152
charstr[10];
163153
intsz=8;
164154

165-
if (!a1|| !a2)
166-
PG_RETURN_BOOL(0);
167-
168155
if (a2->vl_len<12)
169156
sz=a2->vl_len-4;
170157
strncpy(str,a2->vl_dat,sz);
@@ -181,8 +168,6 @@ chkpass_ne(PG_FUNCTION_ARGS)
181168
charstr[10];
182169
intsz=8;
183170

184-
if (!a1|| !a2)
185-
PG_RETURN_BOOL(0);
186171
if (a2->vl_len<12)
187172
sz=a2->vl_len-4;
188173
strncpy(str,a2->vl_dat,sz);

‎contrib/chkpass/chkpass.sql.in

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
-- darcy@druid.net
55
-- http://www.druid.net/darcy/
66
--
7-
-- $PostgreSQL: pgsql/contrib/chkpass/chkpass.sql.in,v 1.5 2003/11/2919:51:19 pgsql Exp $
7+
-- $PostgreSQL: pgsql/contrib/chkpass/chkpass.sql.in,v 1.6 2005/01/2922:35:01 tgl Exp $
88
--
99
-- best viewed with tabs set to 4
1010
--
@@ -19,12 +19,12 @@ SET search_path = public;
1919
CREATE FUNCTION chkpass_in(cstring)
2020
RETURNS chkpass
2121
AS 'MODULE_PATHNAME'
22-
LANGUAGE'c';
22+
LANGUAGEC STRICT;
2323

2424
CREATE FUNCTION chkpass_out(chkpass)
2525
RETURNS cstring
2626
AS 'MODULE_PATHNAME'
27-
LANGUAGE'c';
27+
LANGUAGEC STRICT;
2828

2929
CREATE TYPE chkpass (
3030
internallength = 16,
@@ -36,7 +36,7 @@ CREATE TYPE chkpass (
3636
CREATE FUNCTION raw(chkpass)
3737
RETURNS text
3838
AS 'MODULE_PATHNAME', 'chkpass_rout'
39-
LANGUAGE'c';
39+
LANGUAGEC STRICT;
4040

4141
--
4242
--The various boolean tests:
@@ -45,12 +45,12 @@ CREATE FUNCTION raw(chkpass)
4545
CREATE FUNCTION eq(chkpass, text)
4646
RETURNS bool
4747
AS 'MODULE_PATHNAME', 'chkpass_eq'
48-
LANGUAGE'c';
48+
LANGUAGEC STRICT;
4949

5050
CREATE FUNCTION ne(chkpass, text)
5151
RETURNS bool
5252
AS 'MODULE_PATHNAME', 'chkpass_ne'
53-
LANGUAGE'c';
53+
LANGUAGEC STRICT;
5454

5555
--
5656
--Now the operators. Note how some of the parameters to some

‎contrib/isbn_issn/isbn_issn.sql.in

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
--
22
--PostgreSQL code for ISSNs.
33
--
4-
--$PostgreSQL: pgsql/contrib/isbn_issn/isbn_issn.sql.in,v 1.10 2003/11/29 22:39:20 pgsql Exp $
4+
--$PostgreSQL: pgsql/contrib/isbn_issn/isbn_issn.sql.in,v 1.11 2005/01/29 22:35:02 tgl Exp $
55
--
66

77
-- Adjust this setting to control where the objects get created.
@@ -14,12 +14,12 @@ SET search_path = public;
1414
CREATE FUNCTION issn_in(cstring)
1515
RETURNS issn
1616
AS 'MODULE_PATHNAME'
17-
LANGUAGE'C';
17+
LANGUAGEC STRICT;
1818

1919
CREATE FUNCTION issn_out(issn)
2020
RETURNS cstring
2121
AS 'MODULE_PATHNAME'
22-
LANGUAGE'C';
22+
LANGUAGEC STRICT;
2323

2424
CREATE TYPE issn (
2525
INTERNALLENGTH = 16,
@@ -39,32 +39,32 @@ COMMENT ON TYPE issn
3939
CREATE FUNCTION issn_lt(issn, issn)
4040
RETURNS bool
4141
AS 'MODULE_PATHNAME'
42-
LANGUAGE'C';
42+
LANGUAGEC STRICT;
4343

4444
CREATE FUNCTION issn_le(issn, issn)
4545
RETURNS bool
4646
AS 'MODULE_PATHNAME'
47-
LANGUAGE'C';
47+
LANGUAGEC STRICT;
4848

4949
CREATE FUNCTION issn_eq(issn, issn)
5050
RETURNS bool
5151
AS 'MODULE_PATHNAME'
52-
LANGUAGE'C';
52+
LANGUAGEC STRICT;
5353

5454
CREATE FUNCTION issn_ge(issn, issn)
5555
RETURNS bool
5656
AS 'MODULE_PATHNAME'
57-
LANGUAGE'C';
57+
LANGUAGEC STRICT;
5858

5959
CREATE FUNCTION issn_gt(issn, issn)
6060
RETURNS bool
6161
AS 'MODULE_PATHNAME'
62-
LANGUAGE'C';
62+
LANGUAGEC STRICT;
6363

6464
CREATE FUNCTION issn_ne(issn, issn)
6565
RETURNS bool
6666
AS 'MODULE_PATHNAME'
67-
LANGUAGE'C';
67+
LANGUAGEC STRICT;
6868

6969
--
7070
--Now the operators. Note how some of the parameters to some
@@ -120,7 +120,7 @@ CREATE OPERATOR <> (
120120
CREATE FUNCTION issn_cmp(issn, issn)
121121
RETURNS integer
122122
AS '$libdir/isbn_issn'
123-
LANGUAGE c;
123+
LANGUAGE c STRICT;
124124

125125
-- Create default operator class for 'issn' --
126126
-- Needed to create index or primary key --
@@ -147,12 +147,12 @@ AS
147147
CREATE FUNCTION isbn_in(cstring)
148148
RETURNS isbn
149149
AS 'MODULE_PATHNAME'
150-
LANGUAGE'C';
150+
LANGUAGEC STRICT;
151151

152152
CREATE FUNCTION isbn_out(isbn)
153153
RETURNS cstring
154154
AS 'MODULE_PATHNAME'
155-
LANGUAGE'C';
155+
LANGUAGEC STRICT;
156156

157157
CREATE TYPE isbn (
158158
INTERNALLENGTH = 16,
@@ -171,32 +171,32 @@ COMMENT ON TYPE isbn IS 'International Standard Book Number';
171171
CREATE FUNCTION isbn_lt(isbn, isbn)
172172
RETURNS bool
173173
AS 'MODULE_PATHNAME'
174-
LANGUAGE'C';
174+
LANGUAGEC STRICT;
175175

176176
CREATE FUNCTION isbn_le(isbn, isbn)
177177
RETURNS bool
178178
AS 'MODULE_PATHNAME'
179-
LANGUAGE'C';
179+
LANGUAGEC STRICT;
180180

181181
CREATE FUNCTION isbn_eq(isbn, isbn)
182182
RETURNS bool
183183
AS 'MODULE_PATHNAME'
184-
LANGUAGE'C';
184+
LANGUAGEC STRICT;
185185

186186
CREATE FUNCTION isbn_ge(isbn, isbn)
187187
RETURNS bool
188188
AS 'MODULE_PATHNAME'
189-
LANGUAGE'C';
189+
LANGUAGEC STRICT;
190190

191191
CREATE FUNCTION isbn_gt(isbn, isbn)
192192
RETURNS bool
193193
AS 'MODULE_PATHNAME'
194-
LANGUAGE'C';
194+
LANGUAGEC STRICT;
195195

196196
CREATE FUNCTION isbn_ne(isbn, isbn)
197197
RETURNS bool
198198
AS 'MODULE_PATHNAME'
199-
LANGUAGE'C';
199+
LANGUAGEC STRICT;
200200

201201
--
202202
--Now the operators. Note how some of the parameters to some
@@ -253,7 +253,7 @@ CREATE OPERATOR <> (
253253
CREATE FUNCTION isbn_cmp(isbn, isbn)
254254
RETURNS integer
255255
AS '$libdir/isbn_issn'
256-
LANGUAGE c;
256+
LANGUAGE c STRICT;
257257

258258
-- Create default operator class for 'isbn' --
259259
-- Needed to create index or primary key --

‎contrib/lo/lo.sql.in

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
--
22
--PostgreSQL code for LargeObjects
33
--
4-
--$PostgreSQL: pgsql/contrib/lo/lo.sql.in,v 1.11 2003/11/29 22:39:22 pgsql Exp $
4+
--$PostgreSQL: pgsql/contrib/lo/lo.sql.in,v 1.12 2005/01/29 22:35:02 tgl Exp $
55
--
66
--
77
--Create the data type
@@ -15,13 +15,13 @@ SET search_path = public;
1515
CREATE FUNCTION lo_in(cstring)
1616
RETURNS lo
1717
AS 'MODULE_PATHNAME'
18-
LANGUAGE'C' IMMUTABLE;
18+
LANGUAGEC IMMUTABLE STRICT;
1919

2020
-- used by the lo type, it returns the oid of the object
2121
CREATE FUNCTION lo_out(lo)
2222
RETURNS cstring
2323
AS 'MODULE_PATHNAME'
24-
LANGUAGE'C' IMMUTABLE;
24+
LANGUAGEC IMMUTABLE STRICT;
2525

2626
-- finally the type itself
2727
CREATE TYPE lo (
@@ -35,7 +35,7 @@ CREATE TYPE lo (
3535
CREATE FUNCTION lo_oid(lo)
3636
RETURNS oid
3737
AS 'MODULE_PATHNAME'
38-
LANGUAGE'C' IMMUTABLE;
38+
LANGUAGEC IMMUTABLE STRICT;
3939

4040
-- same function, named to allow it to be used as a type coercion, eg:
4141
-- CREATE TABLE a (image lo);
@@ -44,19 +44,19 @@ LANGUAGE 'C' IMMUTABLE;
4444
CREATE FUNCTION oid(lo)
4545
RETURNS oid
4646
AS 'MODULE_PATHNAME', 'lo_oid'
47-
LANGUAGE'C' IMMUTABLE;
47+
LANGUAGEC IMMUTABLE STRICT;
4848
CREATE CAST (lo as oid) WITH FUNCTION oid(lo) AS IMPLICIT;
4949

5050
-- this allows us to convert an oid to a managed lo object
5151
-- ie: insert into test values (lo_import('/fullpath/file')::lo);
5252
CREATE FUNCTION lo(oid)
5353
RETURNS lo
5454
AS 'MODULE_PATHNAME'
55-
LANGUAGE'C' IMMUTABLE;
55+
LANGUAGEC IMMUTABLE STRICT;
5656
CREATE CAST (oid as lo) WITH FUNCTION lo(oid) AS IMPLICIT;
5757

5858
-- This is used in triggers
5959
CREATE FUNCTION lo_manage()
6060
RETURNS trigger
6161
AS 'MODULE_PATHNAME'
62-
LANGUAGE'C';
62+
LANGUAGEC;

‎contrib/miscutil/misc_utils.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ active_listeners(text *relname)
9696
{
9797
d=heap_getattr(lTuple,Anum_pg_listener_pid,tdesc,&isnull);
9898
pid=DatumGetInt32(d);
99-
if ((pid==ourpid)|| (kill(pid,SIGTSTP)==0))
99+
if ((pid==ourpid)|| (kill(pid,0)==0))
100100
count++;
101101
}
102102
heap_endscan(sRel);

‎contrib/miscutil/misc_utils.sql.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ LANGUAGE 'SQL';
3737
CREATE OR REPLACE FUNCTION min(int4,int4)
3838
RETURNS int4
3939
AS 'MODULE_PATHNAME', 'int4min'
40-
LANGUAGE 'C';
40+
LANGUAGE 'C' STRICT;
4141

4242
-- max(x,y)
4343
--
4444
CREATE OR REPLACE FUNCTION max(int4,int4)
4545
RETURNS int4
4646
AS 'MODULE_PATHNAME', 'int4max'
47-
LANGUAGE 'C';
47+
LANGUAGE 'C' STRICT;
4848

4949
-- Return the number of active listeners on a relation
5050
--

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp