__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
// SPDX-License-Identifier: GPL-2.0-only
/// Find places to use string_choices.h's various helpers.
//
// Confidence: Medium
// Options: --no-includes --include-headers
virtual patch
virtual context
virtual report

@str_plural depends on patch@
expression E;
@@
(
-	((E == 1) ? "" : "s")
+	str_plural(E)
|
-	((E > 1) ? "s" : "")
+	str_plural(E)
)

@str_plural_r depends on !patch@
expression E;
position P;
@@
(
*	(E@P == 1) ? "" : "s"
|
*	(E@P > 1) ? "s" : ""
)

@script:python depends on report@
p << str_plural_r.P;
e << str_plural_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_plural(%s)" % e)

@str_up_down depends on patch disable neg_if_exp@
expression E;
@@
-	((E) ? "up" : "down")
+	str_up_down(E)

@str_up_down_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*	E@P ? "up" : "down"

@script:python depends on report@
p << str_up_down_r.P;
e << str_up_down_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_up_down(%s)" % e)

@str_down_up depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "down" : "up")
+      str_down_up(E)

@str_down_up_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "down" : "up"

@script:python depends on report@
p << str_down_up_r.P;
e << str_down_up_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_down_up(%s)" % e)

@str_true_false depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "true" : "false")
+      str_true_false(E)

@str_true_false_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "true" : "false"

@script:python depends on report@
p << str_true_false_r.P;
e << str_true_false_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_true_false(%s)" % e)

@str_false_true depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "false" : "true")
+      str_false_true(E)

@str_false_true_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "false" : "true"

@script:python depends on report@
p << str_false_true_r.P;
e << str_false_true_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_false_true(%s)" % e)

@str_hi_lo depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "hi" : "lo")
+      str_hi_lo(E)

@str_hi_lo_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "hi" : "lo"

@script:python depends on report@
p << str_hi_lo_r.P;
e << str_hi_lo_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_hi_lo(%s)" % e)

@str_high_low depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "high" : "low")
+      str_high_low(E)

@str_high_low_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "high" : "low"

@script:python depends on report@
p << str_high_low_r.P;
e << str_high_low_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_high_low(%s)" % e)

@str_lo_hi depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "lo" : "hi")
+      str_lo_hi(E)

@str_lo_hi_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "lo" : "hi"

@script:python depends on report@
p << str_lo_hi_r.P;
e << str_lo_hi_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_lo_hi(%s)" % e)

@str_low_high depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "low" : "high")
+      str_low_high(E)

@str_low_high_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "low" : "high"

@script:python depends on report@
p << str_low_high_r.P;
e << str_low_high_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_low_high(%s)" % e)

@str_enable_disable depends on patch@
expression E;
@@
-      ((E) ? "enable" : "disable")
+      str_enable_disable(E)

@str_enable_disable_r depends on !patch@
expression E;
position P;
@@
*      E@P ? "enable" : "disable"

@script:python depends on report@
p << str_enable_disable_r.P;
e << str_enable_disable_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_enable_disable(%s)" % e)

@str_enabled_disabled depends on patch@
expression E;
@@
-      ((E) ? "enabled" : "disabled")
+      str_enabled_disabled(E)

@str_enabled_disabled_r depends on !patch@
expression E;
position P;
@@
*      E@P ? "enabled" : "disabled"

@script:python depends on report@
p << str_enabled_disabled_r.P;
e << str_enabled_disabled_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_enabled_disabled(%s)" % e)

@str_read_write depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "read" : "write")
+      str_read_write(E)

@str_read_write_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "read" : "write"

@script:python depends on report@
p << str_read_write_r.P;
e << str_read_write_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_read_write(%s)" % e)

@str_write_read depends on patch disable neg_if_exp@
expression E;
@@
-      ((E) ? "write" : "read")
+      str_write_read(E)

@str_write_read_r depends on !patch disable neg_if_exp@
expression E;
position P;
@@
*      E@P ? "write" : "read"

@script:python depends on report@
p << str_write_read_r.P;
e << str_write_read_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_write_read(%s)" % e)

@str_on_off depends on patch@
expression E;
@@
-      ((E) ? "on" : "off")
+      str_on_off(E)

@str_on_off_r depends on !patch@
expression E;
position P;
@@
*      E@P ? "on" : "off"

@script:python depends on report@
p << str_on_off_r.P;
e << str_on_off_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_on_off(%s)" % e)

@str_yes_no depends on patch@
expression E;
@@
-      ((E) ? "yes" : "no")
+      str_yes_no(E)

@str_yes_no_r depends on !patch@
expression E;
position P;
@@
*      E@P ? "yes" : "no"

@script:python depends on report@
p << str_yes_no_r.P;
e << str_yes_no_r.E;
@@

coccilib.report.print_report(p[0], "opportunity for str_yes_no(%s)" % e)

Filemanager

Name Type Size Permission Actions
alloc Folder 0755
atomic_as_refcounter.cocci File 2.27 KB 0644
check_bq27xxx_data.cocci File 3.48 KB 0644
d_find_alias.cocci File 1.3 KB 0644
device_attr_show.cocci File 1.06 KB 0644
err_cast.cocci File 1.11 KB 0644
kfree_mismatch.cocci File 5.56 KB 0644
kfree_sensitive.cocci File 1.91 KB 0644
kstrdup.cocci File 2.44 KB 0644
kvmalloc.cocci File 6.14 KB 0644
memdup.cocci File 1.36 KB 0644
memdup_user.cocci File 2.6 KB 0644
platform_get_irq.cocci File 1.22 KB 0644
platform_no_drv_owner.cocci File 3.81 KB 0644
pm_runtime.cocci File 2.39 KB 0644
resource_size.cocci File 2.1 KB 0644
simple_open.cocci File 1.21 KB 0644
stream_open.cocci File 7.67 KB 0644
string_choices.cocci File 5.9 KB 0644
vma_pages.cocci File 1.48 KB 0644
Filemanager