db: introduce add_definition_db_callback()
[smatch.git] / smatch_scripts / db / fill_db_buf_size.pl
blob0972fcf362b3617769739896946c41d9acce6f06
1 #!/usr/bin/perl -w
3 use strict;
4 use DBI;
6 my $warns = shift;
8 if (!defined($warns)) {
9 print "usage: $0 <warns.txt>\n";
10 exit(1);
13 my $db = DBI->connect("dbi:SQLite:smatch_db.sqlite", "", "", {RaiseError => 1, AutoCommit => 0});
15 $db->do("delete from buf_size;");
17 open(WARNS, "<$warns");
18 while (<WARNS>) {
19 if (!($_ =~ /passes_buffer/)) {
20 next;
22 if ($_ =~ /(printk|memset|memcpy|kfree|printf|dev_err)/) {
23 next;
26 s/\n//;
28 my ($file, $dummy, $func, $param, $size);
29 ($file, $dummy, $dummy, $dummy, $dummy, $func, $param, $size) = split(/ /, $_);
31 if (!defined($size) || !($param =~ /^\d+$/)) {
32 next;
35 $db->do("insert into buf_size values ('$file', $func, $param, $size)");
37 $db->commit();
38 $db->disconnect();