summary refs log tree commit diff stats
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorJulia Suvorova <jusual@mail.ru>2018-03-02 13:43:19 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2018-03-06 14:01:28 +0100
commitfb8446d94ec7a3dc0c3a7e7da672406476f075ac (patch)
tree1c18a5aefdedad6e295415c03a6d437d18de87a3 /scripts/checkpatch.pl
parentdb84fd973eba3f1e121416dcab73a4e8a60f2526 (diff)
downloadfocaccia-qemu-fb8446d94ec7a3dc0c3a7e7da672406476f075ac.tar.gz
focaccia-qemu-fb8446d94ec7a3dc0c3a7e7da672406476f075ac.zip
checkpatch: add a warning for basename/dirname
g_path_get_* do the same as g_strdup(basename/dirname(...)) but
without modifying the argument.

Signed-off-by: Julia Suvorova <jusual@mail.ru>
Message-Id: <1519987399-19160-1-git-send-email-jusual@mail.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 1b4b812e28..a88af61ed4 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2584,6 +2584,11 @@ sub process {
 			ERROR("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
 		}
 
+# recommend g_path_get_* over g_strdup(basename/dirname(...))
+		if ($line =~ /\bg_strdup\s*\(\s*(basename|dirname)\s*\(/) {
+			WARN("consider using g_path_get_$1() in preference to g_strdup($1())\n" . $herecurr);
+		}
+
 # recommend qemu_strto* over strto* for numeric conversions
 		if ($line =~ /\b(strto[^kd].*?)\s*\(/) {
 			ERROR("consider using qemu_$1 in preference to $1\n" . $herecurr);