Skip to content

Commit 270ab65

Browse files
nodejs-github-botRafaelGSS
authored andcommitted
deps: update ada to 3.2.3
PR-URL: #58045 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent 9ba1646 commit 270ab65

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

deps/ada/ada.cpp

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* auto-generated on 2025-03-30 13:24:42 -0400. Do not edit! */
1+
/* auto-generated on 2025-04-24 20:04:09 -0400. Do not edit! */
22
/* begin file src/ada.cpp */
33
#include "ada.h"
44
/* begin file src/checkers.cpp */
@@ -11636,15 +11636,20 @@ ada_really_inline void parse_prepared_path(std::string_view input,
1163611636
// Note: input cannot be empty, it must at least contain one character ('.')
1163711637
// Note: we know that '\' is not present.
1163811638
if (input[0] != '.') {
11639-
size_t slashdot = input.find("/.");
11640-
if (slashdot == std::string_view::npos) { // common case
11641-
trivial_path = true;
11642-
} else { // uncommon
11643-
// only three cases matter: /./, /.. or a final /
11644-
trivial_path =
11645-
!(slashdot + 2 == input.size() || input[slashdot + 2] == '.' ||
11646-
input[slashdot + 2] == '/');
11639+
size_t slashdot = 0;
11640+
bool dot_is_file = true;
11641+
for (;;) {
11642+
slashdot = input.find("/.", slashdot);
11643+
if (slashdot == std::string_view::npos) { // common case
11644+
break;
11645+
} else { // uncommon
11646+
// only three cases matter: /./, /.. or a final /
11647+
slashdot += 2;
11648+
dot_is_file &= !(slashdot == input.size() || input[slashdot] == '.' ||
11649+
input[slashdot] == '/');
11650+
}
1164711651
}
11652+
trivial_path = dot_is_file;
1164811653
}
1164911654
}
1165011655
if (trivial_path) {
@@ -15093,15 +15098,20 @@ inline void url_aggregator::consume_prepared_path(std::string_view input) {
1509315098
// Note: input cannot be empty, it must at least contain one character ('.')
1509415099
// Note: we know that '\' is not present.
1509515100
if (input[0] != '.') {
15096-
size_t slashdot = input.find("/.");
15097-
if (slashdot == std::string_view::npos) { // common case
15098-
trivial_path = true;
15099-
} else { // uncommon
15100-
// only three cases matter: /./, /.. or a final /
15101-
trivial_path =
15102-
!(slashdot + 2 == input.size() || input[slashdot + 2] == '.' ||
15103-
input[slashdot + 2] == '/');
15101+
size_t slashdot = 0;
15102+
bool dot_is_file = true;
15103+
for (;;) {
15104+
slashdot = input.find("/.", slashdot);
15105+
if (slashdot == std::string_view::npos) { // common case
15106+
break;
15107+
} else { // uncommon
15108+
// only three cases matter: /./, /.. or a final /
15109+
slashdot += 2;
15110+
dot_is_file &= !(slashdot == input.size() || input[slashdot] == '.' ||
15111+
input[slashdot] == '/');
15112+
}
1510415113
}
15114+
trivial_path = dot_is_file;
1510515115
}
1510615116
}
1510715117
if (trivial_path && is_at_path()) {

deps/ada/ada.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* auto-generated on 2025-03-30 13:24:42 -0400. Do not edit! */
1+
/* auto-generated on 2025-04-24 20:04:09 -0400. Do not edit! */
22
/* begin file include/ada.h */
33
/**
44
* @file ada.h
@@ -10502,14 +10502,14 @@ constructor_string_parser<regex_provider>::parse(std::string_view input) {
1050210502
#ifndef ADA_ADA_VERSION_H
1050310503
#define ADA_ADA_VERSION_H
1050410504

10505-
#define ADA_VERSION "3.2.2"
10505+
#define ADA_VERSION "3.2.3"
1050610506

1050710507
namespace ada {
1050810508

1050910509
enum {
1051010510
ADA_VERSION_MAJOR = 3,
1051110511
ADA_VERSION_MINOR = 2,
10512-
ADA_VERSION_REVISION = 2,
10512+
ADA_VERSION_REVISION = 3,
1051310513
};
1051410514

1051510515
} // namespace ada

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy