1*4dc78e53SAndroid Build Coastguard Worker#!/bin/bash 2*4dc78e53SAndroid Build Coastguard Worker 3*4dc78e53SAndroid Build Coastguard Workerset -e 4*4dc78e53SAndroid Build Coastguard Worker 5*4dc78e53SAndroid Build Coastguard Workerdie() { 6*4dc78e53SAndroid Build Coastguard Worker printf '%s\n' "$*" >&2 7*4dc78e53SAndroid Build Coastguard Worker exit 1 8*4dc78e53SAndroid Build Coastguard Worker} 9*4dc78e53SAndroid Build Coastguard Worker 10*4dc78e53SAndroid Build Coastguard WorkerEXCLUDE_PATHS_TOPLEVEL=( 11*4dc78e53SAndroid Build Coastguard Worker "include/linux-private" 12*4dc78e53SAndroid Build Coastguard Worker) 13*4dc78e53SAndroid Build Coastguard Worker 14*4dc78e53SAndroid Build Coastguard Worker# The following files are currently not formatted with clang. 15*4dc78e53SAndroid Build Coastguard Worker# Exclude them too. 16*4dc78e53SAndroid Build Coastguard WorkerEXCLUDE_PATHS_TOPLEVEL+=( 17*4dc78e53SAndroid Build Coastguard Worker "include/netlink/addr.h" 18*4dc78e53SAndroid Build Coastguard Worker "include/netlink/attr.h" 19*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cache-api.h" 20*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cache.h" 21*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/addr.h" 22*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/cls.h" 23*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/link.h" 24*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/mdb.h" 25*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/neigh.h" 26*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/qdisc.h" 27*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/route.h" 28*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/tc.h" 29*4dc78e53SAndroid Build Coastguard Worker "include/netlink/cli/utils.h" 30*4dc78e53SAndroid Build Coastguard Worker "include/netlink/data.h" 31*4dc78e53SAndroid Build Coastguard Worker "include/netlink/errno.h" 32*4dc78e53SAndroid Build Coastguard Worker "include/netlink/fib_lookup/lookup.h" 33*4dc78e53SAndroid Build Coastguard Worker "include/netlink/fib_lookup/request.h" 34*4dc78e53SAndroid Build Coastguard Worker "include/netlink/genl/ctrl.h" 35*4dc78e53SAndroid Build Coastguard Worker "include/netlink/genl/family.h" 36*4dc78e53SAndroid Build Coastguard Worker "include/netlink/genl/genl.h" 37*4dc78e53SAndroid Build Coastguard Worker "include/netlink/genl/mngt.h" 38*4dc78e53SAndroid Build Coastguard Worker "include/netlink/handlers.h" 39*4dc78e53SAndroid Build Coastguard Worker "include/netlink/hash.h" 40*4dc78e53SAndroid Build Coastguard Worker "include/netlink/hashtable.h" 41*4dc78e53SAndroid Build Coastguard Worker "include/netlink/idiag/idiagnl.h" 42*4dc78e53SAndroid Build Coastguard Worker "include/netlink/idiag/meminfo.h" 43*4dc78e53SAndroid Build Coastguard Worker "include/netlink/idiag/msg.h" 44*4dc78e53SAndroid Build Coastguard Worker "include/netlink/idiag/req.h" 45*4dc78e53SAndroid Build Coastguard Worker "include/netlink/idiag/vegasinfo.h" 46*4dc78e53SAndroid Build Coastguard Worker "include/netlink/list.h" 47*4dc78e53SAndroid Build Coastguard Worker "include/netlink/msg.h" 48*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/ct.h" 49*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/exp.h" 50*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/log.h" 51*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/log_msg.h" 52*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/netfilter.h" 53*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/nfnl.h" 54*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/queue.h" 55*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netfilter/queue_msg.h" 56*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netlink-compat.h" 57*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netlink-kernel.h" 58*4dc78e53SAndroid Build Coastguard Worker "include/netlink/netlink.h" 59*4dc78e53SAndroid Build Coastguard Worker "include/netlink/object.h" 60*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/act/skbedit.h" 61*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/action.h" 62*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/addr.h" 63*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/class.h" 64*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/classifier.h" 65*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/basic.h" 66*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/cgroup.h" 67*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/ematch.h" 68*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/ematch/cmp.h" 69*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/ematch/meta.h" 70*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/ematch/nbyte.h" 71*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/ematch/text.h" 72*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/flower.h" 73*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/fw.h" 74*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/matchall.h" 75*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/police.h" 76*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/cls/u32.h" 77*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link.h" 78*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/api.h" 79*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/bonding.h" 80*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/bridge.h" 81*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/can.h" 82*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/geneve.h" 83*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/inet.h" 84*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/inet6.h" 85*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/info-api.h" 86*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ip6gre.h" 87*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ip6tnl.h" 88*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ip6vti.h" 89*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ipgre.h" 90*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ipip.h" 91*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ipvlan.h" 92*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ipvti.h" 93*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/macsec.h" 94*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/macvlan.h" 95*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/macvtap.h" 96*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/ppp.h" 97*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/sit.h" 98*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/sriov.h" 99*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/team.h" 100*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/vlan.h" 101*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/vxlan.h" 102*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/link/xfrmi.h" 103*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/mdb.h" 104*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/neighbour.h" 105*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/neightbl.h" 106*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/netconf.h" 107*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/nexthop.h" 108*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/pktloc.h" 109*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc.h" 110*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/cbq.h" 111*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/dsmark.h" 112*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/fifo.h" 113*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/fq_codel.h" 114*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/hfsc.h" 115*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/htb.h" 116*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/mqprio.h" 117*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/netem.h" 118*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/plug.h" 119*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/prio.h" 120*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/red.h" 121*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/qdisc/sfq.h" 122*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/route.h" 123*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/rtnl.h" 124*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/rule.h" 125*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/tc-api.h" 126*4dc78e53SAndroid Build Coastguard Worker "include/netlink/route/tc.h" 127*4dc78e53SAndroid Build Coastguard Worker "include/netlink/socket.h" 128*4dc78e53SAndroid Build Coastguard Worker "include/netlink/types.h" 129*4dc78e53SAndroid Build Coastguard Worker "include/netlink/utils.h" 130*4dc78e53SAndroid Build Coastguard Worker "include/netlink/xfrm/ae.h" 131*4dc78e53SAndroid Build Coastguard Worker "include/netlink/xfrm/lifetime.h" 132*4dc78e53SAndroid Build Coastguard Worker "include/netlink/xfrm/sa.h" 133*4dc78e53SAndroid Build Coastguard Worker "include/netlink/xfrm/selector.h" 134*4dc78e53SAndroid Build Coastguard Worker "include/netlink/xfrm/sp.h" 135*4dc78e53SAndroid Build Coastguard Worker "include/netlink/xfrm/template.h" 136*4dc78e53SAndroid Build Coastguard Worker "include/nl-priv-dynamic-core/cache-api.h" 137*4dc78e53SAndroid Build Coastguard Worker "include/nl-priv-dynamic-core/object-api.h" 138*4dc78e53SAndroid Build Coastguard Worker "lib/addr.c" 139*4dc78e53SAndroid Build Coastguard Worker "lib/attr.c" 140*4dc78e53SAndroid Build Coastguard Worker "lib/cache.c" 141*4dc78e53SAndroid Build Coastguard Worker "lib/cache_mngr.c" 142*4dc78e53SAndroid Build Coastguard Worker "lib/cache_mngt.c" 143*4dc78e53SAndroid Build Coastguard Worker "lib/cli/cls/basic.c" 144*4dc78e53SAndroid Build Coastguard Worker "lib/cli/cls/cgroup.c" 145*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/bfifo.c" 146*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/blackhole.c" 147*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/fq_codel.c" 148*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/hfsc.c" 149*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/htb.c" 150*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/ingress.c" 151*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/pfifo.c" 152*4dc78e53SAndroid Build Coastguard Worker "lib/cli/qdisc/plug.c" 153*4dc78e53SAndroid Build Coastguard Worker "lib/data.c" 154*4dc78e53SAndroid Build Coastguard Worker "lib/error.c" 155*4dc78e53SAndroid Build Coastguard Worker "lib/fib_lookup/lookup.c" 156*4dc78e53SAndroid Build Coastguard Worker "lib/fib_lookup/request.c" 157*4dc78e53SAndroid Build Coastguard Worker "lib/genl/ctrl.c" 158*4dc78e53SAndroid Build Coastguard Worker "lib/genl/family.c" 159*4dc78e53SAndroid Build Coastguard Worker "lib/genl/genl.c" 160*4dc78e53SAndroid Build Coastguard Worker "lib/genl/mngt.c" 161*4dc78e53SAndroid Build Coastguard Worker "lib/genl/nl-genl.h" 162*4dc78e53SAndroid Build Coastguard Worker "lib/handlers.c" 163*4dc78e53SAndroid Build Coastguard Worker "lib/hash.c" 164*4dc78e53SAndroid Build Coastguard Worker "lib/hashtable.c" 165*4dc78e53SAndroid Build Coastguard Worker "lib/idiag/idiag.c" 166*4dc78e53SAndroid Build Coastguard Worker "lib/idiag/idiag_meminfo_obj.c" 167*4dc78e53SAndroid Build Coastguard Worker "lib/idiag/idiag_msg_obj.c" 168*4dc78e53SAndroid Build Coastguard Worker "lib/idiag/idiag_req_obj.c" 169*4dc78e53SAndroid Build Coastguard Worker "lib/idiag/idiag_vegasinfo_obj.c" 170*4dc78e53SAndroid Build Coastguard Worker "lib/mpls.c" 171*4dc78e53SAndroid Build Coastguard Worker "lib/mpls.h" 172*4dc78e53SAndroid Build Coastguard Worker "lib/msg.c" 173*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/ct.c" 174*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/ct_obj.c" 175*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/exp.c" 176*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/exp_obj.c" 177*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/log.c" 178*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/log_msg.c" 179*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/log_msg_obj.c" 180*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/log_obj.c" 181*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/netfilter.c" 182*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/nfnl.c" 183*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/queue.c" 184*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/queue_msg.c" 185*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/queue_msg_obj.c" 186*4dc78e53SAndroid Build Coastguard Worker "lib/netfilter/queue_obj.c" 187*4dc78e53SAndroid Build Coastguard Worker "lib/nl-core.h" 188*4dc78e53SAndroid Build Coastguard Worker "lib/nl.c" 189*4dc78e53SAndroid Build Coastguard Worker "lib/object.c" 190*4dc78e53SAndroid Build Coastguard Worker "lib/route/act.c" 191*4dc78e53SAndroid Build Coastguard Worker "lib/route/act/gact.c" 192*4dc78e53SAndroid Build Coastguard Worker "lib/route/act/mirred.c" 193*4dc78e53SAndroid Build Coastguard Worker "lib/route/act/skbedit.c" 194*4dc78e53SAndroid Build Coastguard Worker "lib/route/act/vlan.c" 195*4dc78e53SAndroid Build Coastguard Worker "lib/route/addr.c" 196*4dc78e53SAndroid Build Coastguard Worker "lib/route/class.c" 197*4dc78e53SAndroid Build Coastguard Worker "lib/route/classid.c" 198*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls.c" 199*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/basic.c" 200*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/cgroup.c" 201*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/ematch.c" 202*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/ematch/cmp.c" 203*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/ematch/container.c" 204*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/ematch/meta.c" 205*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/ematch/nbyte.c" 206*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/ematch/text.c" 207*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/flower.c" 208*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/fw.c" 209*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/mall.c" 210*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/police.c" 211*4dc78e53SAndroid Build Coastguard Worker "lib/route/cls/u32.c" 212*4dc78e53SAndroid Build Coastguard Worker "lib/route/link-sriov.h" 213*4dc78e53SAndroid Build Coastguard Worker "lib/route/link.c" 214*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/api.c" 215*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/bonding.c" 216*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/bridge.c" 217*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/can.c" 218*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/dummy.c" 219*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/geneve.c" 220*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ifb.c" 221*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/inet.c" 222*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/inet6.c" 223*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ip6gre.c" 224*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ip6tnl.c" 225*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ip6vti.c" 226*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ipgre.c" 227*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ipip.c" 228*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ipvlan.c" 229*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ipvti.c" 230*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/link-api.h" 231*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/macsec.c" 232*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/macvlan.c" 233*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/ppp.c" 234*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/sit.c" 235*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/sriov.c" 236*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/team.c" 237*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/veth.c" 238*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/vlan.c" 239*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/vrf.c" 240*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/vxlan.c" 241*4dc78e53SAndroid Build Coastguard Worker "lib/route/link/xfrmi.c" 242*4dc78e53SAndroid Build Coastguard Worker "lib/route/mdb.c" 243*4dc78e53SAndroid Build Coastguard Worker "lib/route/neigh.c" 244*4dc78e53SAndroid Build Coastguard Worker "lib/route/netconf.c" 245*4dc78e53SAndroid Build Coastguard Worker "lib/route/nexthop-encap.h" 246*4dc78e53SAndroid Build Coastguard Worker "lib/route/nexthop.c" 247*4dc78e53SAndroid Build Coastguard Worker "lib/route/nexthop_encap.c" 248*4dc78e53SAndroid Build Coastguard Worker "lib/route/nh_encap_mpls.c" 249*4dc78e53SAndroid Build Coastguard Worker "lib/route/pktloc.c" 250*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc.c" 251*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/blackhole.c" 252*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/cbq.c" 253*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/dsmark.c" 254*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/fifo.c" 255*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/fq_codel.c" 256*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/hfsc.c" 257*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/htb.c" 258*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/ingress.c" 259*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/mqprio.c" 260*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/netem.c" 261*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/plug.c" 262*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/prio.c" 263*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/red.c" 264*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/sfq.c" 265*4dc78e53SAndroid Build Coastguard Worker "lib/route/qdisc/tbf.c" 266*4dc78e53SAndroid Build Coastguard Worker "lib/route/route.c" 267*4dc78e53SAndroid Build Coastguard Worker "lib/route/route_obj.c" 268*4dc78e53SAndroid Build Coastguard Worker "lib/route/route_utils.c" 269*4dc78e53SAndroid Build Coastguard Worker "lib/route/rtnl.c" 270*4dc78e53SAndroid Build Coastguard Worker "lib/route/rule.c" 271*4dc78e53SAndroid Build Coastguard Worker "lib/route/tc-api.h" 272*4dc78e53SAndroid Build Coastguard Worker "lib/route/tc.c" 273*4dc78e53SAndroid Build Coastguard Worker "lib/socket.c" 274*4dc78e53SAndroid Build Coastguard Worker "lib/utils.c" 275*4dc78e53SAndroid Build Coastguard Worker "lib/version.c" 276*4dc78e53SAndroid Build Coastguard Worker "lib/xfrm/ae.c" 277*4dc78e53SAndroid Build Coastguard Worker "lib/xfrm/lifetime.c" 278*4dc78e53SAndroid Build Coastguard Worker "lib/xfrm/sa.c" 279*4dc78e53SAndroid Build Coastguard Worker "lib/xfrm/selector.c" 280*4dc78e53SAndroid Build Coastguard Worker "lib/xfrm/sp.c" 281*4dc78e53SAndroid Build Coastguard Worker "lib/xfrm/template.c" 282*4dc78e53SAndroid Build Coastguard Worker "python/netlink/utils.h" 283*4dc78e53SAndroid Build Coastguard Worker "src/genl-ctrl-list.c" 284*4dc78e53SAndroid Build Coastguard Worker "src/idiag-socket-details.c" 285*4dc78e53SAndroid Build Coastguard Worker "src/lib/addr.c" 286*4dc78e53SAndroid Build Coastguard Worker "src/lib/cls.c" 287*4dc78e53SAndroid Build Coastguard Worker "src/lib/ct.c" 288*4dc78e53SAndroid Build Coastguard Worker "src/lib/exp.c" 289*4dc78e53SAndroid Build Coastguard Worker "src/lib/link.c" 290*4dc78e53SAndroid Build Coastguard Worker "src/lib/neigh.c" 291*4dc78e53SAndroid Build Coastguard Worker "src/lib/route.c" 292*4dc78e53SAndroid Build Coastguard Worker "src/lib/tc.c" 293*4dc78e53SAndroid Build Coastguard Worker "src/lib/utils.c" 294*4dc78e53SAndroid Build Coastguard Worker "src/nf-ct-add.c" 295*4dc78e53SAndroid Build Coastguard Worker "src/nf-ct-events.c" 296*4dc78e53SAndroid Build Coastguard Worker "src/nf-ct-list.c" 297*4dc78e53SAndroid Build Coastguard Worker "src/nf-exp-add.c" 298*4dc78e53SAndroid Build Coastguard Worker "src/nf-exp-delete.c" 299*4dc78e53SAndroid Build Coastguard Worker "src/nf-exp-list.c" 300*4dc78e53SAndroid Build Coastguard Worker "src/nf-log.c" 301*4dc78e53SAndroid Build Coastguard Worker "src/nf-monitor.c" 302*4dc78e53SAndroid Build Coastguard Worker "src/nf-queue.c" 303*4dc78e53SAndroid Build Coastguard Worker "src/nl-addr-add.c" 304*4dc78e53SAndroid Build Coastguard Worker "src/nl-addr-delete.c" 305*4dc78e53SAndroid Build Coastguard Worker "src/nl-addr-list.c" 306*4dc78e53SAndroid Build Coastguard Worker "src/nl-class-add.c" 307*4dc78e53SAndroid Build Coastguard Worker "src/nl-class-delete.c" 308*4dc78e53SAndroid Build Coastguard Worker "src/nl-class-list.c" 309*4dc78e53SAndroid Build Coastguard Worker "src/nl-classid-lookup.c" 310*4dc78e53SAndroid Build Coastguard Worker "src/nl-cls-add.c" 311*4dc78e53SAndroid Build Coastguard Worker "src/nl-cls-delete.c" 312*4dc78e53SAndroid Build Coastguard Worker "src/nl-cls-list.c" 313*4dc78e53SAndroid Build Coastguard Worker "src/nl-fib-lookup.c" 314*4dc78e53SAndroid Build Coastguard Worker "src/nl-link-enslave.c" 315*4dc78e53SAndroid Build Coastguard Worker "src/nl-link-list.c" 316*4dc78e53SAndroid Build Coastguard Worker "src/nl-link-release.c" 317*4dc78e53SAndroid Build Coastguard Worker "src/nl-link-set.c" 318*4dc78e53SAndroid Build Coastguard Worker "src/nl-link-stats.c" 319*4dc78e53SAndroid Build Coastguard Worker "src/nl-list-caches.c" 320*4dc78e53SAndroid Build Coastguard Worker "src/nl-list-sockets.c" 321*4dc78e53SAndroid Build Coastguard Worker "src/nl-monitor.c" 322*4dc78e53SAndroid Build Coastguard Worker "src/nl-neigh-add.c" 323*4dc78e53SAndroid Build Coastguard Worker "src/nl-neigh-delete.c" 324*4dc78e53SAndroid Build Coastguard Worker "src/nl-neigh-list.c" 325*4dc78e53SAndroid Build Coastguard Worker "src/nl-neightbl-list.c" 326*4dc78e53SAndroid Build Coastguard Worker "src/nl-pktloc-lookup.c" 327*4dc78e53SAndroid Build Coastguard Worker "src/nl-qdisc-add.c" 328*4dc78e53SAndroid Build Coastguard Worker "src/nl-qdisc-delete.c" 329*4dc78e53SAndroid Build Coastguard Worker "src/nl-qdisc-list.c" 330*4dc78e53SAndroid Build Coastguard Worker "src/nl-route-add.c" 331*4dc78e53SAndroid Build Coastguard Worker "src/nl-route-delete.c" 332*4dc78e53SAndroid Build Coastguard Worker "src/nl-route-get.c" 333*4dc78e53SAndroid Build Coastguard Worker "src/nl-route-list.c" 334*4dc78e53SAndroid Build Coastguard Worker "src/nl-rule-list.c" 335*4dc78e53SAndroid Build Coastguard Worker "src/nl-tctree-list.c" 336*4dc78e53SAndroid Build Coastguard Worker "src/nl-util-addr.c" 337*4dc78e53SAndroid Build Coastguard Worker "tests/test-cache-mngr.c" 338*4dc78e53SAndroid Build Coastguard Worker "tests/test-complex-HTB-with-hash-filters.c" 339*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-bridge.c" 340*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-geneve.c" 341*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-ip6tnl.c" 342*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-ipgre.c" 343*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-ipgretap.c" 344*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-ipip.c" 345*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-ipvti.c" 346*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-macsec.c" 347*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-macvlan.c" 348*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-macvtap.c" 349*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-sit.c" 350*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-veth.c" 351*4dc78e53SAndroid Build Coastguard Worker "tests/test-create-xfrmi.c" 352*4dc78e53SAndroid Build Coastguard Worker "tests/test-genl.c" 353*4dc78e53SAndroid Build Coastguard Worker "tests/test-nf-cache-mngr.c" 354*4dc78e53SAndroid Build Coastguard Worker "tests/test-socket-creation.c" 355*4dc78e53SAndroid Build Coastguard Worker "tests/test-u32-filter-with-actions.c" 356*4dc78e53SAndroid Build Coastguard Worker) 357*4dc78e53SAndroid Build Coastguard Worker 358*4dc78e53SAndroid Build Coastguard WorkerDIR_ROOT="$(git rev-parse --show-toplevel)" || die "not inside a git repository" 359*4dc78e53SAndroid Build Coastguard WorkerDIR_PREFIX="$(git rev-parse --show-prefix)" || die "not inside a git repository" 360*4dc78e53SAndroid Build Coastguard Worker 361*4dc78e53SAndroid Build Coastguard Workerif [ ! -f "$DIR_ROOT/.clang-format" ]; then 362*4dc78e53SAndroid Build Coastguard Worker die "Error: the clang-format file in \"$DIR_ROOT\" does not exist" 363*4dc78e53SAndroid Build Coastguard Workerfi 364*4dc78e53SAndroid Build Coastguard Worker 365*4dc78e53SAndroid Build Coastguard Workerif ! command -v clang-format &> /dev/null; then 366*4dc78e53SAndroid Build Coastguard Worker die "Error: clang-format is not installed. On RHEL/Fedora/CentOS run 'dnf install clang-tools-extra'" 367*4dc78e53SAndroid Build Coastguard Workerfi 368*4dc78e53SAndroid Build Coastguard Worker 369*4dc78e53SAndroid Build Coastguard Workerif test -n "$DIR_PREFIX"; then 370*4dc78e53SAndroid Build Coastguard Worker EXCLUDE_PATHS=() 371*4dc78e53SAndroid Build Coastguard Worker for e in "${EXCLUDE_PATHS_TOPLEVEL[@]}"; do 372*4dc78e53SAndroid Build Coastguard Worker REGEX="^$DIR_PREFIX([^/].*)$" 373*4dc78e53SAndroid Build Coastguard Worker if [[ "$e" =~ $REGEX ]]; then 374*4dc78e53SAndroid Build Coastguard Worker EXCLUDE_PATHS+=("${BASH_REMATCH[1]}") 375*4dc78e53SAndroid Build Coastguard Worker fi 376*4dc78e53SAndroid Build Coastguard Worker done 377*4dc78e53SAndroid Build Coastguard Workerelse 378*4dc78e53SAndroid Build Coastguard Worker EXCLUDE_PATHS=("${EXCLUDE_PATHS_TOPLEVEL[@]}") 379*4dc78e53SAndroid Build Coastguard Workerfi 380*4dc78e53SAndroid Build Coastguard Worker 381*4dc78e53SAndroid Build Coastguard WorkerFILES=() 382*4dc78e53SAndroid Build Coastguard WorkerHAS_EXPLICIT_FILES=0 383*4dc78e53SAndroid Build Coastguard WorkerSHOW_FILENAMES=0 384*4dc78e53SAndroid Build Coastguard WorkerTEST_ONLY=0 385*4dc78e53SAndroid Build Coastguard WorkerCHECK_UPSTREAM= 386*4dc78e53SAndroid Build Coastguard Worker 387*4dc78e53SAndroid Build Coastguard Workerusage() { 388*4dc78e53SAndroid Build Coastguard Worker printf "Usage: %s [OPTION]... [FILE]...\n" "$(basename "$0")" 389*4dc78e53SAndroid Build Coastguard Worker printf "Reformat source files using clang-format.\n\n" 390*4dc78e53SAndroid Build Coastguard Worker printf "If no file is given the script runs on the whole codebase.\n" 391*4dc78e53SAndroid Build Coastguard Worker printf "OPTIONS:\n" 392*4dc78e53SAndroid Build Coastguard Worker printf " -h Print this help message.\n" 393*4dc78e53SAndroid Build Coastguard Worker printf " -i Reformat files (the default).\n" 394*4dc78e53SAndroid Build Coastguard Worker printf " -n|--dry-run Only check the files (contrary to \"-i\").\n" 395*4dc78e53SAndroid Build Coastguard Worker printf " -a|--all Check all files (the default).\n" 396*4dc78e53SAndroid Build Coastguard Worker printf " -u|--upstream COMMIT Check only files from \`git diff --name-only COMMIT\` (contrary to \"-a\").\n" 397*4dc78e53SAndroid Build Coastguard Worker printf " This also affects directories given in the [FILE] list, but not files.\n" 398*4dc78e53SAndroid Build Coastguard Worker printf " If this is the last parameter and COMMIT is unspecified/empty, it defaults to \"main\".\n" 399*4dc78e53SAndroid Build Coastguard Worker printf " -F|--fast Same as \`-u HEAD^\`.\n" 400*4dc78e53SAndroid Build Coastguard Worker printf " -l|--show-filenames Only print the filenames that would be checked/formatted\n" 401*4dc78e53SAndroid Build Coastguard Worker printf " -- Separate options from filenames/directories\n" 402*4dc78e53SAndroid Build Coastguard Worker if [ -n "${_LIBNL_CODE_FORMAT_CONTAINER+x}" ] ; then 403*4dc78e53SAndroid Build Coastguard Worker printf "\n" 404*4dc78e53SAndroid Build Coastguard Worker printf "Command runs inside container image \"$_LIBNL_CODE_FORMAT_CONTAINER\".\n" 405*4dc78e53SAndroid Build Coastguard Worker printf "Delete/renew image with \`podman rmi \"$_LIBNL_CODE_FORMAT_CONTAINER\"\`.\n" 406*4dc78e53SAndroid Build Coastguard Worker fi 407*4dc78e53SAndroid Build Coastguard Worker} 408*4dc78e53SAndroid Build Coastguard Worker 409*4dc78e53SAndroid Build Coastguard Workerls_files_exist() { 410*4dc78e53SAndroid Build Coastguard Worker local OLD_IFS="$IFS" 411*4dc78e53SAndroid Build Coastguard Worker local f 412*4dc78e53SAndroid Build Coastguard Worker 413*4dc78e53SAndroid Build Coastguard Worker IFS=$'\n' 414*4dc78e53SAndroid Build Coastguard Worker for f in $(cat) ; do 415*4dc78e53SAndroid Build Coastguard Worker test -f "$f" && printf '%s\n' "$f" 416*4dc78e53SAndroid Build Coastguard Worker done 417*4dc78e53SAndroid Build Coastguard Worker IFS="$OLD_IFS" 418*4dc78e53SAndroid Build Coastguard Worker} 419*4dc78e53SAndroid Build Coastguard Worker 420*4dc78e53SAndroid Build Coastguard Workerls_files_filter() { 421*4dc78e53SAndroid Build Coastguard Worker local OLD_IFS="$IFS" 422*4dc78e53SAndroid Build Coastguard Worker local f 423*4dc78e53SAndroid Build Coastguard Worker 424*4dc78e53SAndroid Build Coastguard Worker IFS=$'\n' 425*4dc78e53SAndroid Build Coastguard Worker for f in $(cat) ; do 426*4dc78e53SAndroid Build Coastguard Worker local found=1 427*4dc78e53SAndroid Build Coastguard Worker local p 428*4dc78e53SAndroid Build Coastguard Worker for p; do 429*4dc78e53SAndroid Build Coastguard Worker [[ "$f" = "$p/"* ]] && found= 430*4dc78e53SAndroid Build Coastguard Worker [[ "$f" = "$p" ]] && found= 431*4dc78e53SAndroid Build Coastguard Worker done 432*4dc78e53SAndroid Build Coastguard Worker test -n "$found" && printf '%s\n' "$f" 433*4dc78e53SAndroid Build Coastguard Worker done 434*4dc78e53SAndroid Build Coastguard Worker IFS="$OLD_IFS" 435*4dc78e53SAndroid Build Coastguard Worker} 436*4dc78e53SAndroid Build Coastguard Worker 437*4dc78e53SAndroid Build Coastguard Workerg_ls_files() { 438*4dc78e53SAndroid Build Coastguard Worker local pattern="$1" 439*4dc78e53SAndroid Build Coastguard Worker shift 440*4dc78e53SAndroid Build Coastguard Worker 441*4dc78e53SAndroid Build Coastguard Worker if [ -z "$CHECK_UPSTREAM" ]; then 442*4dc78e53SAndroid Build Coastguard Worker git ls-files -- "$pattern" 443*4dc78e53SAndroid Build Coastguard Worker else 444*4dc78e53SAndroid Build Coastguard Worker git diff --no-renames --name-only "$CHECK_UPSTREAM" -- "$pattern" \ 445*4dc78e53SAndroid Build Coastguard Worker | ls_files_exist 446*4dc78e53SAndroid Build Coastguard Worker fi | ls_files_filter "$@" 447*4dc78e53SAndroid Build Coastguard Worker} 448*4dc78e53SAndroid Build Coastguard Worker 449*4dc78e53SAndroid Build Coastguard WorkerHAD_DASHDASH=0 450*4dc78e53SAndroid Build Coastguard Workerwhile (( $# )); do 451*4dc78e53SAndroid Build Coastguard Worker if [ "$HAD_DASHDASH" = 0 ]; then 452*4dc78e53SAndroid Build Coastguard Worker case "$1" in 453*4dc78e53SAndroid Build Coastguard Worker -h) 454*4dc78e53SAndroid Build Coastguard Worker usage 455*4dc78e53SAndroid Build Coastguard Worker exit 0 456*4dc78e53SAndroid Build Coastguard Worker ;; 457*4dc78e53SAndroid Build Coastguard Worker -l|--show-filenames) 458*4dc78e53SAndroid Build Coastguard Worker SHOW_FILENAMES=1 459*4dc78e53SAndroid Build Coastguard Worker shift 460*4dc78e53SAndroid Build Coastguard Worker continue 461*4dc78e53SAndroid Build Coastguard Worker ;; 462*4dc78e53SAndroid Build Coastguard Worker -a|--all) 463*4dc78e53SAndroid Build Coastguard Worker CHECK_UPSTREAM= 464*4dc78e53SAndroid Build Coastguard Worker shift 465*4dc78e53SAndroid Build Coastguard Worker continue 466*4dc78e53SAndroid Build Coastguard Worker ;; 467*4dc78e53SAndroid Build Coastguard Worker -u|--upstream) 468*4dc78e53SAndroid Build Coastguard Worker shift 469*4dc78e53SAndroid Build Coastguard Worker CHECK_UPSTREAM="$1" 470*4dc78e53SAndroid Build Coastguard Worker test -n "$CHECK_UPSTREAM" || CHECK_UPSTREAM=main 471*4dc78e53SAndroid Build Coastguard Worker shift || : 472*4dc78e53SAndroid Build Coastguard Worker continue 473*4dc78e53SAndroid Build Coastguard Worker ;; 474*4dc78e53SAndroid Build Coastguard Worker -F|--fast) 475*4dc78e53SAndroid Build Coastguard Worker CHECK_UPSTREAM='HEAD^' 476*4dc78e53SAndroid Build Coastguard Worker shift 477*4dc78e53SAndroid Build Coastguard Worker continue 478*4dc78e53SAndroid Build Coastguard Worker ;; 479*4dc78e53SAndroid Build Coastguard Worker -n|--dry-run) 480*4dc78e53SAndroid Build Coastguard Worker TEST_ONLY=1 481*4dc78e53SAndroid Build Coastguard Worker shift 482*4dc78e53SAndroid Build Coastguard Worker continue 483*4dc78e53SAndroid Build Coastguard Worker ;; 484*4dc78e53SAndroid Build Coastguard Worker -i) 485*4dc78e53SAndroid Build Coastguard Worker TEST_ONLY=0 486*4dc78e53SAndroid Build Coastguard Worker shift 487*4dc78e53SAndroid Build Coastguard Worker continue 488*4dc78e53SAndroid Build Coastguard Worker ;; 489*4dc78e53SAndroid Build Coastguard Worker --) 490*4dc78e53SAndroid Build Coastguard Worker HAD_DASHDASH=1 491*4dc78e53SAndroid Build Coastguard Worker shift 492*4dc78e53SAndroid Build Coastguard Worker continue 493*4dc78e53SAndroid Build Coastguard Worker ;; 494*4dc78e53SAndroid Build Coastguard Worker esac 495*4dc78e53SAndroid Build Coastguard Worker fi 496*4dc78e53SAndroid Build Coastguard Worker if [ -d "$1" ]; then 497*4dc78e53SAndroid Build Coastguard Worker while IFS='' read -r line; 498*4dc78e53SAndroid Build Coastguard Worker do FILES+=("$line") 499*4dc78e53SAndroid Build Coastguard Worker done < <(CHECK_UPSTREAM="$CHECK_UPSTREAM" g_ls_files "${1}/*.[hc]" "${EXCLUDE_PATHS[@]}") 500*4dc78e53SAndroid Build Coastguard Worker elif [ -f "$1" ]; then 501*4dc78e53SAndroid Build Coastguard Worker FILES+=("$1") 502*4dc78e53SAndroid Build Coastguard Worker else 503*4dc78e53SAndroid Build Coastguard Worker usage >&2 504*4dc78e53SAndroid Build Coastguard Worker echo >&2 505*4dc78e53SAndroid Build Coastguard Worker die "Unknown argument \"$1\" which also is neither a file nor a directory." 506*4dc78e53SAndroid Build Coastguard Worker fi 507*4dc78e53SAndroid Build Coastguard Worker shift 508*4dc78e53SAndroid Build Coastguard Worker HAS_EXPLICIT_FILES=1 509*4dc78e53SAndroid Build Coastguard Workerdone 510*4dc78e53SAndroid Build Coastguard Worker 511*4dc78e53SAndroid Build Coastguard Workerif [ $HAS_EXPLICIT_FILES = 0 ]; then 512*4dc78e53SAndroid Build Coastguard Worker while IFS='' read -r line; do 513*4dc78e53SAndroid Build Coastguard Worker FILES+=("$line") 514*4dc78e53SAndroid Build Coastguard Worker done < <(CHECK_UPSTREAM="$CHECK_UPSTREAM" g_ls_files '*.[ch]' "${EXCLUDE_PATHS[@]}") 515*4dc78e53SAndroid Build Coastguard Workerfi 516*4dc78e53SAndroid Build Coastguard Worker 517*4dc78e53SAndroid Build Coastguard Workerif [ $SHOW_FILENAMES = 1 ]; then 518*4dc78e53SAndroid Build Coastguard Worker for f in "${FILES[@]}" ; do 519*4dc78e53SAndroid Build Coastguard Worker printf '%s\n' "$f" 520*4dc78e53SAndroid Build Coastguard Worker done 521*4dc78e53SAndroid Build Coastguard Worker exit 0 522*4dc78e53SAndroid Build Coastguard Workerfi 523*4dc78e53SAndroid Build Coastguard Worker 524*4dc78e53SAndroid Build Coastguard Workerif [ "${#FILES[@]}" = 0 ]; then 525*4dc78e53SAndroid Build Coastguard Worker if [ -z "$CHECK_UPSTREAM" ]; then 526*4dc78e53SAndroid Build Coastguard Worker die "Error: no files to check" 527*4dc78e53SAndroid Build Coastguard Worker fi 528*4dc78e53SAndroid Build Coastguard Worker exit 0 529*4dc78e53SAndroid Build Coastguard Workerfi 530*4dc78e53SAndroid Build Coastguard Worker 531*4dc78e53SAndroid Build Coastguard WorkerFLAGS_TEST=( --Werror -n --ferror-limit=1 ) 532*4dc78e53SAndroid Build Coastguard Worker 533*4dc78e53SAndroid Build Coastguard Workerif [ $TEST_ONLY = 1 ]; then 534*4dc78e53SAndroid Build Coastguard Worker # We assume that all formatting is correct. In that mode, passing 535*4dc78e53SAndroid Build Coastguard Worker # all filenames to clang-format is significantly faster. 536*4dc78e53SAndroid Build Coastguard Worker # 537*4dc78e53SAndroid Build Coastguard Worker # Only in case of an error, we iterate over the files one by one 538*4dc78e53SAndroid Build Coastguard Worker # until we find the first invalid file. 539*4dc78e53SAndroid Build Coastguard Worker for f in "${FILES[@]}"; do 540*4dc78e53SAndroid Build Coastguard Worker [ -f "$f" ] || die "Error: file \"$f\" does not exist (or is not a regular file)" 541*4dc78e53SAndroid Build Coastguard Worker done 542*4dc78e53SAndroid Build Coastguard Worker clang-format "${FLAGS_TEST[@]}" "${FILES[@]}" &>/dev/null && exit 0 543*4dc78e53SAndroid Build Coastguard Worker for f in "${FILES[@]}"; do 544*4dc78e53SAndroid Build Coastguard Worker [ -f "$f" ] || die "Error: file \"$f\" does not exist (or is not a regular file)" 545*4dc78e53SAndroid Build Coastguard Worker if ! clang-format "${FLAGS_TEST[@]}" "$f" &>/dev/null; then 546*4dc78e53SAndroid Build Coastguard Worker FF="$(mktemp)" 547*4dc78e53SAndroid Build Coastguard Worker trap 'rm -f "$FF"' EXIT 548*4dc78e53SAndroid Build Coastguard Worker clang-format "$f" 2>/dev/null > "$FF" 549*4dc78e53SAndroid Build Coastguard Worker git --no-pager diff "$f" "$FF" || : 550*4dc78e53SAndroid Build Coastguard Worker FEDORA_VERSION="$(sed -n 's/^ image: fedora:\([0-9]\+\)$/\1/p' .github/workflows/ci.yml)" 551*4dc78e53SAndroid Build Coastguard Worker die "Error: file \"$f\" has style issues."$'\n'"Fix it by running \`\"$0\"\` using $(clang-format --version) 552*4dc78e53SAndroid Build Coastguard WorkerAlternatively, run \`./tools/clang-format-container.sh\` to use a podman container named \"libnl-code-format-f$FEDORA_VERSION\"." 553*4dc78e53SAndroid Build Coastguard Worker fi 554*4dc78e53SAndroid Build Coastguard Worker done 555*4dc78e53SAndroid Build Coastguard Worker die "an unknown error happened." 556*4dc78e53SAndroid Build Coastguard Workerfi 557*4dc78e53SAndroid Build Coastguard Worker 558*4dc78e53SAndroid Build Coastguard Workerclang-format -i "${FILES[@]}" 559