* Re: [eudev] [PATCH] use #pragma once for header files
@ 2017-12-05 18:28 99% ` Marcus Folkesson
0 siblings, 0 replies; 1+ results
From: Marcus Folkesson @ 2017-12-05 18:28 UTC (permalink / raw
To: Anthony G. Basile; +Cc: eudev
[-- Attachment #1: Type: text/plain, Size: 5685 bytes --]
Hi Anthony,
On Tue, Dec 05, 2017 at 01:15:59PM -0500, Anthony G. Basile wrote:
> On 12/4/17 6:34 AM, Marcus Folkesson wrote:
> > Some headerfiles are missing "#pragma once" or corresponding
> > "#ifndef..." which may result in build error if multiple source files
> > include the same file.
> >
> > Add "#pragma once" for concerned files.
> >
> > Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
> > ---
> > src/mtd_probe/mtd_probe.h | 2 ++
> > src/scsi_id/scsi.h | 2 ++
> > src/scsi_id/scsi_id.h | 2 ++
> > src/shared/device-nodes.h | 2 ++
> > src/shared/fileio.h | 2 ++
> > src/shared/path-util.h | 2 ++
> > src/shared/siphash24.h | 3 +++
> > src/shared/socket-util.h | 2 ++
> > src/udev/udevadm-util.h | 2 ++
> > 9 files changed, 19 insertions(+)
> >
> > diff --git a/src/mtd_probe/mtd_probe.h b/src/mtd_probe/mtd_probe.h
> > index e048a0122..caea5c269 100644
> > --- a/src/mtd_probe/mtd_probe.h
> > +++ b/src/mtd_probe/mtd_probe.h
> > @@ -17,6 +17,8 @@
> > * Boston, MA 02110-1301 USA
> > */
> >
> > +#pragma once
> > +
> > #include <mtd/mtd-user.h>
> >
> > #include "macro.h"
> > diff --git a/src/scsi_id/scsi.h b/src/scsi_id/scsi.h
> > index c423cac57..3f99ae772 100644
> > --- a/src/scsi_id/scsi.h
> > +++ b/src/scsi_id/scsi.h
> > @@ -10,6 +10,8 @@
> > * Free Software Foundation version 2 of the License.
> > */
> >
> > +#pragma once
> > +
> > #include <scsi/scsi.h>
> >
> > struct scsi_ioctl_command {
> > diff --git a/src/scsi_id/scsi_id.h b/src/scsi_id/scsi_id.h
> > index 648b5ce42..141b116a8 100644
> > --- a/src/scsi_id/scsi_id.h
> > +++ b/src/scsi_id/scsi_id.h
> > @@ -15,6 +15,8 @@
> > * along with this program. If not, see <http://www.gnu.org/licenses/>.
> > */
> >
> > +#pragma once
> > +
> > #define MAX_PATH_LEN 512
> >
> > /*
> > diff --git a/src/shared/device-nodes.h b/src/shared/device-nodes.h
> > index d27ac0906..5df53e8c0 100644
> > --- a/src/shared/device-nodes.h
> > +++ b/src/shared/device-nodes.h
> > @@ -17,5 +17,7 @@
> > along with systemd; If not, see <http://www.gnu.org/licenses/>.
> > ***/
> >
> > +#pragma once
> > +
> > int encode_devnode_name(const char *str, char *str_enc, size_t len);
> > int whitelisted_char_for_devnode(char c, const char *additional);
> > diff --git a/src/shared/fileio.h b/src/shared/fileio.h
> > index 641bf0230..7beed2eb8 100644
> > --- a/src/shared/fileio.h
> > +++ b/src/shared/fileio.h
> > @@ -17,6 +17,8 @@
> > along with systemd; If not, see <http://www.gnu.org/licenses/>.
> > ***/
> >
> > +#pragma once
> > +
> > #include <stddef.h>
> > #include <stdio.h>
> >
> > diff --git a/src/shared/path-util.h b/src/shared/path-util.h
> > index 0123c2609..1d15d4c0f 100644
> > --- a/src/shared/path-util.h
> > +++ b/src/shared/path-util.h
> > @@ -17,6 +17,8 @@
> > along with systemd; If not, see <http://www.gnu.org/licenses/>.
> > ***/
> >
> > +#pragma once
> > +
> > #include <stdbool.h>
> >
> > #include "macro.h"
> > diff --git a/src/shared/siphash24.h b/src/shared/siphash24.h
> > index 3253c179b..c2c19b437 100644
> > --- a/src/shared/siphash24.h
> > +++ b/src/shared/siphash24.h
> > @@ -1,3 +1,6 @@
> > +
> > +#pragma once
> > +
> > #include <inttypes.h>
> > #include <sys/types.h>
> >
> > diff --git a/src/shared/socket-util.h b/src/shared/socket-util.h
> > index 2daa3279f..52b8dff66 100644
> > --- a/src/shared/socket-util.h
> > +++ b/src/shared/socket-util.h
> > @@ -17,6 +17,8 @@
> > along with systemd; If not, see <http://www.gnu.org/licenses/>.
> > ***/
> >
> > +#pragma once
> > +
> > #include <sys/socket.h>
> > #include <netinet/in.h>
> > #include <sys/un.h>
> > diff --git a/src/udev/udevadm-util.h b/src/udev/udevadm-util.h
> > index dba651fdd..37e4fe836 100644
> > --- a/src/udev/udevadm-util.h
> > +++ b/src/udev/udevadm-util.h
> > @@ -15,6 +15,8 @@
> > * along with this program. If not, see <http://www.gnu.org/licenses/>.
> > */
> >
> > +#pragma once
> > +
> > #include "udev.h"
> >
> > struct udev_device *find_device(struct udev *udev,
> >
>
>
> I know we have some clang users. Does #pragma work for clang?
>
Actually I don't know. But #pragma is used for most of the headers already:
[19:21:38]marcus@little:~/git/eudev$ git grep pragma
src/shared/conf-files.h:21:#pragma once
src/shared/def.h:20:#pragma once
src/shared/dev-setup.h:20:#pragma once
src/shared/formats-util.h:1:#pragma once
src/shared/hashmap.h:3:#pragma once
src/shared/label.h:20:#pragma once
src/shared/list.h:3:#pragma once
src/shared/log.h:20:#pragma once
src/shared/macro.h:20:#pragma once
src/shared/mempool.h:3:#pragma once
src/shared/missing.h:20:#pragma once
src/shared/mkdir.h:20:#pragma once
src/shared/process-util.h:1:#pragma once
src/shared/random-util.h:1:#pragma once
src/shared/selinux-util.h:20:#pragma once
src/shared/set.h:3:#pragma once
src/shared/smack-util.h:22:#pragma once
src/shared/strbuf.h:20:#pragma once
src/shared/strv.h:20:#pragma once
src/shared/strxcpyx.h:20:#pragma once
src/shared/sysctl-util.h:3:#pragma once
src/shared/terminal-util.h:1:#pragma once
src/shared/time-util.h:20:#pragma once
src/shared/udev-util.h:20:#pragma once
src/shared/utf8.h:20:#pragma once
src/shared/util.h:20:#pragma once
src/shared/virt.h:20:#pragma once
src/udev/udev.h:19:#pragma once
Only a few headers in src/libudev/ is using the #ifndef-#define-#endif
what I can tell.
Maybe I should convert those to #pragma instead to keep it uniform.
Best regards
Marcus Folkesson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [relevance 99%]
Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2017-12-04 11:34 [eudev] [PATCH] use #pragma once for header files Marcus Folkesson
2017-12-05 18:15 ` Anthony G. Basile
2017-12-05 18:28 99% ` Marcus Folkesson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox