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

Commit0db7c67

Browse files
committed
Minor code beautification in regexp.c.
Remove duplicated code (apparently introduced by commitc8ea87e).Also get rid of some PG_USED_FOR_ASSERTS_ONLY variables we don'treally need to have.Li Japin, Tom LaneDiscussion:https://postgr.es/m/PS1PR0601MB3770A5595B6E5E3FD6F35724B6360@PS1PR0601MB3770.apcprd06.prod.outlook.com
1 parent1281a5c commit0db7c67

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

‎src/backend/utils/adt/regexp.c

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ typedef struct regexp_matches_ctx
6363
Datum*elems;/* has npatterns elements */
6464
bool*nulls;/* has npatterns elements */
6565
pg_wchar*wide_str;/* wide-char version of original string */
66-
char*conv_buf;/* conversion buffer */
66+
char*conv_buf;/* conversion buffer, if needed */
6767
intconv_bufsiz;/* size thereof */
6868
}regexp_matches_ctx;
6969

@@ -1285,7 +1285,6 @@ static ArrayType *
12851285
build_regexp_match_result(regexp_matches_ctx*matchctx)
12861286
{
12871287
char*buf=matchctx->conv_buf;
1288-
intbufsizPG_USED_FOR_ASSERTS_ONLY=matchctx->conv_bufsiz;
12891288
Datum*elems=matchctx->elems;
12901289
bool*nulls=matchctx->nulls;
12911290
intdims[1];
@@ -1311,7 +1310,7 @@ build_regexp_match_result(regexp_matches_ctx *matchctx)
13111310
buf,
13121311
eo-so);
13131312

1314-
Assert(len<bufsiz);
1313+
Assert(len<matchctx->conv_bufsiz);
13151314
elems[i]=PointerGetDatum(cstring_to_text_with_len(buf,len));
13161315
nulls[i]= false;
13171316
}
@@ -1467,25 +1466,22 @@ build_regexp_split_result(regexp_matches_ctx *splitctx)
14671466
if (startpos<0)
14681467
elog(ERROR,"invalid match ending position");
14691468

1469+
endpos=splitctx->match_locs[splitctx->next_match*2];
1470+
if (endpos<startpos)
1471+
elog(ERROR,"invalid match starting position");
1472+
14701473
if (buf)
14711474
{
1472-
intbufsizPG_USED_FOR_ASSERTS_ONLY=splitctx->conv_bufsiz;
14731475
intlen;
14741476

1475-
endpos=splitctx->match_locs[splitctx->next_match*2];
1476-
if (endpos<startpos)
1477-
elog(ERROR,"invalid match starting position");
14781477
len=pg_wchar2mb_with_len(splitctx->wide_str+startpos,
14791478
buf,
14801479
endpos-startpos);
1481-
Assert(len<bufsiz);
1480+
Assert(len<splitctx->conv_bufsiz);
14821481
returnPointerGetDatum(cstring_to_text_with_len(buf,len));
14831482
}
14841483
else
14851484
{
1486-
endpos=splitctx->match_locs[splitctx->next_match*2];
1487-
if (endpos<startpos)
1488-
elog(ERROR,"invalid match starting position");
14891485
returnDirectFunctionCall3(text_substr,
14901486
PointerGetDatum(splitctx->orig_str),
14911487
Int32GetDatum(startpos+1),

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp