From 5fb93f635b935ea5632e36600e07a2c5fc5bad5e Mon Sep 17 00:00:00 2001 From: Pádraig Brady
Date: Tue, 2 Jul 2013 03:42:20 +0100
Subject: maint: refactor SMACK interface to a separate module
Consolidate all smack routines and checks in a module.
We replace and wrap the most commonly used smack routines,
which allows removing ifdefs throughout the code.
* gl/lib/smack.h: A new header containing the implementation
of the wrapped and replacement routines. Note the is_smack_enabled()
routine should be optimized out at compile time when compiled
on a system without libsmack.
* gl/modules/smack: Describe the new module and move the
configure time code here from ...
* m4/jm-macros.m4: ... here.
* bootstrap.conf: Reference the new module.
* src/id.c: Use the routines without ifdefs where possible.
* src/ls.c: Likewise.
* src/mkdir.c: Likewise.
* src/mkfifo.c: Likewise.
* src/mknod.c: Likewise.
---
gl/lib/smack.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
gl/modules/smack | 42 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 88 insertions(+)
create mode 100644 gl/lib/smack.h
create mode 100644 gl/modules/smack
(limited to 'gl')
diff --git a/gl/lib/smack.h b/gl/lib/smack.h
new file mode 100644
index 000000000..dea729e09
--- /dev/null
+++ b/gl/lib/smack.h
@@ -0,0 +1,46 @@
+/* Include and determine availability of smack routines
+ Copyright (C) 2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see