summaryrefslogtreecommitdiffstats
path: root/libmount/src
diff options
context:
space:
mode:
authorKarel Zak2012-12-04 14:22:39 +0100
committerKarel Zak2012-12-04 14:22:39 +0100
commitba2bdf41c436640286df40529cddede46b3ba5d8 (patch)
tree2fd343c6a2450b4566ca996ff2f0c9703bc2e680 /libmount/src
parentlibblkid: re-read PART{UUID,LABEL} for successfully verified cached devices (diff)
downloadkernel-qcow2-util-linux-ba2bdf41c436640286df40529cddede46b3ba5d8.tar.gz
kernel-qcow2-util-linux-ba2bdf41c436640286df40529cddede46b3ba5d8.tar.xz
kernel-qcow2-util-linux-ba2bdf41c436640286df40529cddede46b3ba5d8.zip
libmount: clean nonnull attribute usage
- use __attribute__((nonnull) for functions where we not able to return an return code ("is", "has" and some "get" functions). - use __attribute__((nonnull) for small functions where we always modify any of the function argument (some mnt_optstr_* functions) Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libmount/src')
-rw-r--r--libmount/src/context.c28
-rw-r--r--libmount/src/context_loopdev.c13
-rw-r--r--libmount/src/fs.c2
-rw-r--r--libmount/src/iter.c15
-rw-r--r--libmount/src/libmount.h.in315
-rw-r--r--libmount/src/lock.c3
-rw-r--r--libmount/src/mountP.h101
-rw-r--r--libmount/src/optstr.c6
-rw-r--r--libmount/src/tab_parse.c6
-rw-r--r--libmount/src/tab_update.c2
-rw-r--r--libmount/src/utils.c22
11 files changed, 192 insertions, 321 deletions
diff --git a/libmount/src/context.c b/libmount/src/context.c
index 21c64726f..3269b0beb 100644
--- a/libmount/src/context.c
+++ b/libmount/src/context.c
@@ -276,7 +276,7 @@ int mnt_context_set_optsmode(struct libmnt_context *cxt, int mode)
int mnt_context_get_optsmode(struct libmnt_context *cxt)
{
- return cxt ? cxt->optsmode : 0;
+ return cxt->optsmode;
}
/**
@@ -333,7 +333,7 @@ int mnt_context_enable_lazy(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_lazy(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_LAZY) ? 1 : 0;
+ return cxt->flags & MNT_FL_LAZY ? 1 : 0;
}
/**
@@ -359,7 +359,7 @@ int mnt_context_enable_fork(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_fork(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_FORK) ? 1 : 0;
+ return cxt->flags & MNT_FL_FORK ? 1 : 0;
}
/**
@@ -410,7 +410,7 @@ int mnt_context_enable_rdonly_umount(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_rdonly_umount(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_RDONLY_UMOUNT) ? 1 : 0;
+ return cxt->flags & MNT_FL_RDONLY_UMOUNT ? 1 : 0;
}
/**
@@ -435,7 +435,7 @@ int mnt_context_disable_helpers(struct libmnt_context *cxt, int disable)
*/
int mnt_context_is_nohelpers(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_NOHELPERS) ? 1 : 0;
+ return cxt->flags & MNT_FL_NOHELPERS ? 1 : 0;
}
@@ -461,7 +461,7 @@ int mnt_context_enable_sloppy(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_sloppy(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_SLOPPY) ? 1 : 0;
+ return cxt->flags & MNT_FL_SLOPPY ? 1 : 0;
}
/**
@@ -486,7 +486,7 @@ int mnt_context_enable_fake(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_fake(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_FAKE) ? 1 : 0;
+ return cxt->flags & MNT_FL_FAKE ? 1 : 0;
}
/**
@@ -511,7 +511,7 @@ int mnt_context_disable_mtab(struct libmnt_context *cxt, int disable)
*/
int mnt_context_is_nomtab(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_NOMTAB) ? 1 : 0;
+ return cxt->flags & MNT_FL_NOMTAB ? 1 : 0;
}
/**
@@ -537,7 +537,7 @@ int mnt_context_disable_swapmatch(struct libmnt_context *cxt, int disable)
*/
int mnt_context_is_swapmatch(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_NOSWAPMATCH) ? 0 : 1;
+ return cxt->flags & MNT_FL_NOSWAPMATCH ? 0 : 1;
}
/**
@@ -562,7 +562,7 @@ int mnt_context_enable_force(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_force(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_FORCE) ? 1 : 0;
+ return cxt->flags & MNT_FL_FORCE ? 1 : 0;
}
/**
@@ -587,7 +587,7 @@ int mnt_context_enable_verbose(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_verbose(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_VERBOSE) ? 1 : 0;
+ return cxt->flags & MNT_FL_VERBOSE ? 1 : 0;
}
/**
@@ -612,7 +612,7 @@ int mnt_context_enable_loopdel(struct libmnt_context *cxt, int enable)
*/
int mnt_context_is_loopdel(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_LOOPDEL) ? 1 : 0;
+ return cxt->flags & MNT_FL_LOOPDEL ? 1 : 0;
}
/**
@@ -1825,7 +1825,7 @@ int mnt_context_apply_fstab(struct libmnt_context *cxt)
*/
int mnt_context_tab_applied(struct libmnt_context *cxt)
{
- return cxt && (cxt->flags & MNT_FL_TAB_APPLIED);
+ return cxt->flags & MNT_FL_TAB_APPLIED;
}
/**
@@ -1842,7 +1842,7 @@ int mnt_context_tab_applied(struct libmnt_context *cxt)
*/
int mnt_context_get_status(struct libmnt_context *cxt)
{
- return cxt && (!cxt->syscall_status || !cxt->helper_exec_status);
+ return !cxt->syscall_status || !cxt->helper_exec_status;
}
/**
diff --git a/libmount/src/context_loopdev.c b/libmount/src/context_loopdev.c
index fc8da9fe7..369f81dc0 100644
--- a/libmount/src/context_loopdev.c
+++ b/libmount/src/context_loopdev.c
@@ -75,7 +75,8 @@ int mnt_context_is_loopdev(struct libmnt_context *cxt)
/* Check, if there already exists a mounted loop device on the mountpoint node
* with the same parameters.
*/
-static int is_mounted_same_loopfile(struct libmnt_context *cxt,
+static int __attribute__((nonnull))
+is_mounted_same_loopfile(struct libmnt_context *cxt,
const char *target,
const char *backing_file,
uint64_t offset)
@@ -142,10 +143,12 @@ int mnt_context_setup_loopdev(struct libmnt_context *cxt)
int rc = 0, lo_flags = 0;
uint64_t offset = 0, sizelimit = 0;
- assert(cxt);
assert(cxt->fs);
assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+ if (!cxt)
+ return -EINVAL;
+
backing_file = mnt_fs_get_srcpath(cxt->fs);
if (!backing_file)
return -EINVAL;
@@ -315,6 +318,9 @@ int mnt_context_delete_loopdev(struct libmnt_context *cxt)
assert(cxt);
assert(cxt->fs);
+ if (!cxt)
+ return -EINVAL;
+
src = mnt_fs_get_srcpath(cxt->fs);
if (!src)
return -EINVAL;
@@ -338,6 +344,9 @@ int mnt_context_clear_loopdev(struct libmnt_context *cxt)
{
assert(cxt);
+ if (!cxt)
+ return -EINVAL;
+
if (mnt_context_get_status(cxt) == 0 &&
(cxt->flags & MNT_FL_LOOPDEV_READY)) {
/*
diff --git a/libmount/src/fs.c b/libmount/src/fs.c
index 6e0c4e645..d94476870 100644
--- a/libmount/src/fs.c
+++ b/libmount/src/fs.c
@@ -1184,6 +1184,8 @@ int mnt_fs_get_option(struct libmnt_fs *fs, const char *name,
{
char rc = 1;
+ if (!fs)
+ return -EINVAL;
if (fs->fs_optstr)
rc = mnt_optstr_get_option(fs->fs_optstr, name, value, valsz);
if (rc == 1 && fs->vfs_optstr)
diff --git a/libmount/src/iter.c b/libmount/src/iter.c
index 393c23eb2..d7b8adbef 100644
--- a/libmount/src/iter.c
+++ b/libmount/src/iter.c
@@ -54,25 +54,20 @@ void mnt_free_iter(struct libmnt_iter *itr)
*/
void mnt_reset_iter(struct libmnt_iter *itr, int direction)
{
- assert(itr);
-
- if (direction == -1 && itr)
+ if (direction == -1)
direction = itr->direction;
- if (itr) {
- memset(itr, 0, sizeof(*itr));
- itr->direction = direction;
- }
+ memset(itr, 0, sizeof(*itr));
+ itr->direction = direction;
}
/**
* mnt_iter_get_direction:
* @itr: iterator pointer
*
- * Returns: MNT_INTER_{FOR,BACK}WARD or negative number in case of error.
+ * Returns: MNT_INTER_{FOR,BACK}WARD
*/
int mnt_iter_get_direction(struct libmnt_iter *itr)
{
- assert(itr);
- return itr ? itr->direction : -EINVAL;
+ return itr->direction;
}
diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in
index f91f6eb8a..06b1595a5 100644
--- a/libmount/src/libmount.h.in
+++ b/libmount/src/libmount.h.in
@@ -154,22 +154,21 @@ extern int mnt_parse_version_string(const char *ver_string)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern int mnt_get_library_version(const char **ver_string);
-extern int mnt_get_library_features(const char ***features)
- __ul_attribute__((nonnull));
+extern int mnt_get_library_features(const char ***features);
/* utils.c */
extern char *mnt_mangle(const char *str)
- __ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern char *mnt_unmangle(const char *str)
- __ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
+
extern int mnt_fstype_is_netfs(const char *type)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern int mnt_fstype_is_pseudofs(const char *type)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
+
extern int mnt_match_fstype(const char *type, const char *pattern)
__ul_attribute__((warn_unused_result));
extern int mnt_match_options(const char *optstr, const char *pattern)
@@ -190,8 +189,8 @@ extern struct libmnt_cache *mnt_new_cache(void)
__ul_attribute__((warn_unused_result));
extern void mnt_free_cache(struct libmnt_cache *cache);
-extern int mnt_cache_read_tags(struct libmnt_cache *cache, const char *devname)
- __ul_attribute__((nonnull));
+extern int mnt_cache_read_tags(struct libmnt_cache *cache, const char *devname);
+
extern int mnt_cache_device_has_tag(struct libmnt_cache *cache,
const char *devname,
const char *token,
@@ -200,26 +199,19 @@ extern int mnt_cache_device_has_tag(struct libmnt_cache *cache,
extern char *mnt_cache_find_tag_value(struct libmnt_cache *cache,
const char *devname, const char *token)
- __ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern char *mnt_get_fstype(const char *devname, int *ambi,
struct libmnt_cache *cache)
- __ul_attribute__((nonnull(1)))
__ul_attribute__((warn_unused_result));
extern char *mnt_resolve_path(const char *path, struct libmnt_cache *cache)
- __ul_attribute__((nonnull(1)))
__ul_attribute__((warn_unused_result));
extern char *mnt_resolve_tag(const char *token, const char *value,
struct libmnt_cache *cache)
- __ul_attribute__((nonnull(1, 2)))
__ul_attribute__((warn_unused_result));
extern char *mnt_resolve_spec(const char *spec, struct libmnt_cache *cache)
- __ul_attribute__((nonnull(1)))
__ul_attribute__((warn_unused_result));
-
extern char *mnt_pretty_path(const char *path, struct libmnt_cache *cache)
- __ul_attribute__((nonnull(1)))
__ul_attribute__((warn_unused_result));
/* optstr.c */
@@ -232,9 +224,9 @@ extern int mnt_optstr_append_option(char **optstr, const char *name,
extern int mnt_optstr_prepend_option(char **optstr, const char *name,
const char *value)
__ul_attribute__((nonnull(1, 2)));
+
extern int mnt_optstr_get_option(const char *optstr, const char *name,
- char **value, size_t *valsz)
- __ul_attribute__((nonnull(1, 2)));
+ char **value, size_t *valsz);
extern int mnt_optstr_set_option(char **optstr, const char *name,
const char *value)
__ul_attribute__((nonnull(1, 2)));
@@ -245,20 +237,16 @@ extern int mnt_optstr_deduplicate_option(char **optstr, const char *name)
extern int mnt_split_optstr(const char *optstr,
char **user, char **vfs, char **fs,
- int ignore_user, int ignore_vfs)
- __ul_attribute__((nonnull(1)));
+ int ignore_user, int ignore_vfs);
extern int mnt_optstr_get_options(const char *optstr, char **subset,
- const struct libmnt_optmap *map, int ignore)
- __ul_attribute__((nonnull));
+ const struct libmnt_optmap *map, int ignore);
extern int mnt_optstr_get_flags(const char *optstr, unsigned long *flags,
- const struct libmnt_optmap *map)
- __ul_attribute__((nonnull));
-extern int mnt_optstr_apply_flags(char **optstr, unsigned long flags,
- const struct libmnt_optmap *map)
- __ul_attribute__((nonnull));
+ const struct libmnt_optmap *map);
+extern int mnt_optstr_apply_flags(char **optstr, unsigned long flags,
+ const struct libmnt_optmap *map);
/* iter.c */
enum {
@@ -292,10 +280,8 @@ extern void mnt_free_lock(struct libmnt_lock *ml);
extern void mnt_unlock_file(struct libmnt_lock *ml)
__ul_attribute__((nonnull));
-extern int mnt_lock_file(struct libmnt_lock *ml)
- __ul_attribute__((nonnull));
-extern int mnt_lock_block_signals(struct libmnt_lock *ml, int enable)
- __ul_attribute__((nonnull));
+extern int mnt_lock_file(struct libmnt_lock *ml);
+extern int mnt_lock_block_signals(struct libmnt_lock *ml, int enable);
/* fs.c */
extern struct libmnt_fs *mnt_new_fs(void)
@@ -311,15 +297,12 @@ extern struct libmnt_fs *mnt_copy_fs(struct libmnt_fs *dest,
extern void *mnt_fs_get_userdata(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_userdata(struct libmnt_fs *fs, void *data)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_userdata(struct libmnt_fs *fs, void *data);
extern const char *mnt_fs_get_source(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_source(struct libmnt_fs *fs, const char *source)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_source(struct libmnt_fs *fs, const char *source);
extern const char *mnt_fs_get_srcpath(struct libmnt_fs *fs)
- __ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern int mnt_fs_get_tag(struct libmnt_fs *fs, const char **name,
const char **value)
@@ -327,19 +310,15 @@ extern int mnt_fs_get_tag(struct libmnt_fs *fs, const char **name,
extern const char *mnt_fs_get_target(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_target(struct libmnt_fs *fs, const char *target)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_target(struct libmnt_fs *fs, const char *target);
extern const char *mnt_fs_get_fstype(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_fstype(struct libmnt_fs *fs, const char *fstype)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_fstype(struct libmnt_fs *fs, const char *fstype);
extern int mnt_fs_streq_srcpath(struct libmnt_fs *fs, const char *path)
- __ul_attribute__((nonnull(1)))
__ul_attribute__((warn_unused_result));
extern int mnt_fs_streq_target(struct libmnt_fs *fs, const char *path)
- __ul_attribute__((nonnull(1)))
__ul_attribute__((warn_unused_result));
extern char *mnt_fs_strdup_options(struct libmnt_fs *fs)
@@ -348,17 +327,12 @@ extern char *mnt_fs_strdup_options(struct libmnt_fs *fs)
extern const char *mnt_fs_get_options(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_options(struct libmnt_fs *fs, const char *optstr)
- __ul_attribute__((nonnull(1)));
-extern int mnt_fs_append_options(struct libmnt_fs *fs, const char *optstr)
- __ul_attribute__((nonnull));
-extern int mnt_fs_prepend_options(struct libmnt_fs *fs, const char *optstr)
- __ul_attribute__((nonnull));
+extern int mnt_fs_set_options(struct libmnt_fs *fs, const char *optstr);
+extern int mnt_fs_append_options(struct libmnt_fs *fs, const char *optstr);
+extern int mnt_fs_prepend_options(struct libmnt_fs *fs, const char *optstr);
extern int mnt_fs_get_option(struct libmnt_fs *fs, const char *name,
- char **value, size_t *valsz)
- __ul_attribute__((nonnull(1,2)));
-
+ char **value, size_t *valsz);
extern const char *mnt_fs_get_fs_options(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
@@ -373,36 +347,28 @@ extern const char *mnt_fs_get_user_options(struct libmnt_fs *fs)
extern const char *mnt_fs_get_attributes(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_attributes(struct libmnt_fs *fs, const char *optstr)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_attributes(struct libmnt_fs *fs, const char *optstr);
extern int mnt_fs_get_attribute(struct libmnt_fs *fs, const char *name,
- char **value, size_t *valsz)
- __ul_attribute__((nonnull(1,2)));
-extern int mnt_fs_append_attributes(struct libmnt_fs *fs, const char *optstr)
- __ul_attribute__((nonnull));
-extern int mnt_fs_prepend_attributes(struct libmnt_fs *fs, const char *optstr)
- __ul_attribute__((nonnull));
+ char **value, size_t *valsz);
+extern int mnt_fs_append_attributes(struct libmnt_fs *fs, const char *optstr);
+extern int mnt_fs_prepend_attributes(struct libmnt_fs *fs, const char *optstr);
extern int mnt_fs_get_freq(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_freq(struct libmnt_fs *fs, int freq)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_freq(struct libmnt_fs *fs, int freq);
extern int mnt_fs_get_passno(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_passno(struct libmnt_fs *fs, int passno)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_passno(struct libmnt_fs *fs, int passno);
extern const char *mnt_fs_get_root(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_root(struct libmnt_fs *fs, const char *root)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_root(struct libmnt_fs *fs, const char *root);
extern const char *mnt_fs_get_bindsrc(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_fs_set_bindsrc(struct libmnt_fs *fs, const char *src)
- __ul_attribute__((nonnull(1)));
+extern int mnt_fs_set_bindsrc(struct libmnt_fs *fs, const char *src);
extern int mnt_fs_get_id(struct libmnt_fs *fs)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
@@ -460,8 +426,7 @@ extern int mnt_fs_is_pseudofs(struct libmnt_fs *fs)
__ul_attribute__((warn_unused_result));
extern void mnt_free_mntent(struct mntent *mnt);
-extern int mnt_fs_to_mntent(struct libmnt_fs *fs, struct mntent **mnt)
- __ul_attribute__((nonnull));
+extern int mnt_fs_to_mntent(struct libmnt_fs *fs, struct mntent **mnt);
/* tab-parse.c */
extern struct libmnt_table *mnt_new_table_from_file(const char *filename)
@@ -471,53 +436,38 @@ extern struct libmnt_table *mnt_new_table_from_dir(const char *dirname)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f,
- const char *filename)
- __ul_attribute__((nonnull(1,2)));
-extern int mnt_table_parse_file(struct libmnt_table *tb, const char *filename)
- __ul_attribute__((nonnull));
-extern int mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname)
- __ul_attribute__((nonnull));
+ const char *filename);
+extern int mnt_table_parse_file(struct libmnt_table *tb, const char *filename);
+extern int mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname);
-extern int mnt_table_parse_fstab(struct libmnt_table *tb, const char *filename)
- __ul_attribute__((nonnull(1)));
-extern int mnt_table_parse_swaps(struct libmnt_table *tb, const char *filename)
- __ul_attribute__((nonnull(1)));
-extern int mnt_table_parse_mtab(struct libmnt_table *tb, const char *filename)
- __ul_attribute__((nonnull(1)));
+extern int mnt_table_parse_fstab(struct libmnt_table *tb, const char *filename);
+extern int mnt_table_parse_swaps(struct libmnt_table *tb, const char *filename);
+extern int mnt_table_parse_mtab(struct libmnt_table *tb, const char *filename);
extern int mnt_table_set_parser_errcb(struct libmnt_table *tb,
- int (*cb)(struct libmnt_table *tb, const char *filename, int line))
- __ul_attribute__((nonnull(1)));
+ int (*cb)(struct libmnt_table *tb, const char *filename, int line));
/* tab.c */
extern struct libmnt_table *mnt_new_table(void)
__ul_attribute__((warn_unused_result));
extern void mnt_free_table(struct libmnt_table *tb);
-extern int mnt_reset_table(struct libmnt_table *tb)
- __ul_attribute__((nonnull));
+extern int mnt_reset_table(struct libmnt_table *tb);
extern int mnt_table_get_nents(struct libmnt_table *tb)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_table_set_cache(struct libmnt_table *tb, struct libmnt_cache *mpc)
- __ul_attribute__((nonnull(1)));
+extern int mnt_table_set_cache(struct libmnt_table *tb, struct libmnt_cache *mpc);
extern struct libmnt_cache *mnt_table_get_cache(struct libmnt_table *tb)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_table_add_fs(struct libmnt_table *tb, struct libmnt_fs *fs)
- __ul_attribute__((nonnull));
-extern int mnt_table_remove_fs(struct libmnt_table *tb, struct libmnt_fs *fs)
- __ul_attribute__((nonnull));
+extern int mnt_table_add_fs(struct libmnt_table *tb, struct libmnt_fs *fs);
+extern int mnt_table_remove_fs(struct libmnt_table *tb, struct libmnt_fs *fs);
extern int mnt_table_next_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
- struct libmnt_fs **fs)
- __ul_attribute__((nonnull));
+ struct libmnt_fs **fs);
extern int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
- struct libmnt_fs *parent, struct libmnt_fs **chld)
- __ul_attribute__((nonnull));
-extern int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
- __ul_attribute__((nonnull));
+ struct libmnt_fs *parent, struct libmnt_fs **chld);
+extern int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root);
extern int mnt_table_set_iter(struct libmnt_table *tb, struct libmnt_iter *itr,
- struct libmnt_fs *fs)
- __ul_attribute__((nonnull));
+ struct libmnt_fs *fs);
extern struct libmnt_fs *mnt_table_find_target(struct libmnt_table *tb,
const char *path, int direction)
@@ -549,8 +499,7 @@ extern int mnt_table_find_next_fs(struct libmnt_table *tb,
struct libmnt_iter *itr,
int (*match_func)(struct libmnt_fs *, void *),
void *userdata,
- struct libmnt_fs **fs)
- __ul_attribute__((nonnull(1,2,3,5)));
+ struct libmnt_fs **fs);
extern int mnt_table_is_fs_mounted(struct libmnt_table *tb, struct libmnt_fs *fstab_fs)
__ul_attribute__((nonnull));
@@ -565,15 +514,12 @@ extern int mnt_update_is_ready(struct libmnt_update *upd)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern int mnt_update_set_fs(struct libmnt_update *upd, unsigned long mountflags,
- const char *target, struct libmnt_fs *fs)
- __ul_attribute__((nonnull(1)));
-extern int mnt_update_table(struct libmnt_update *upd, struct libmnt_lock *lc)
- __ul_attribute__((nonnull(1)));
+ const char *target, struct libmnt_fs *fs);
+extern int mnt_update_table(struct libmnt_update *upd, struct libmnt_lock *lc);
extern unsigned long mnt_update_get_mflags(struct libmnt_update *upd)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_update_force_rdonly(struct libmnt_update *upd, int rdonly)
- __ul_attribute__((nonnull));
+extern int mnt_update_force_rdonly(struct libmnt_update *upd, int rdonly);
extern const char *mnt_update_get_filename(struct libmnt_update *upd)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
@@ -596,15 +542,13 @@ extern void mnt_free_tabdiff(struct libmnt_tabdiff *df);
extern int mnt_diff_tables(struct libmnt_tabdiff *df,
struct libmnt_table *old_tab,
- struct libmnt_table *new_tab)
- __ul_attribute__((nonnull));
+ struct libmnt_table *new_tab);
extern int mnt_tabdiff_next_change(struct libmnt_tabdiff *df,
struct libmnt_iter *itr,
struct libmnt_fs **old_fs,
struct libmnt_fs **new_fs,
- int *oper)
- __ul_attribute__((nonnull(1, 2)));
+ int *oper);
/* context.c */
@@ -633,44 +577,28 @@ extern struct libmnt_context *mnt_new_context(void)
__ul_attribute__((warn_unused_result));
extern void mnt_free_context(struct libmnt_context *cxt);
-extern int mnt_reset_context(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
+extern int mnt_reset_context(struct libmnt_context *cxt);
extern int mnt_context_is_restricted(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern int mnt_context_init_helper(struct libmnt_context *cxt,
- int action, int flags)
- __ul_attribute__((nonnull));
-extern int mnt_context_helper_setopt(struct libmnt_context *cxt, int c, char *arg)
- __ul_attribute__((nonnull));
-
-extern int mnt_context_set_optsmode(struct libmnt_context *cxt, int mode)
- __ul_attribute__((nonnull));
-extern int mnt_context_disable_canonicalize(struct libmnt_context *cxt, int disable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_lazy(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_rdonly_umount(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_disable_helpers(struct libmnt_context *cxt, int disable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_sloppy(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_fake(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_disable_mtab(struct libmnt_context *cxt, int disable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_force(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_verbose(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_loopdel(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_enable_fork(struct libmnt_context *cxt, int enable)
- __ul_attribute__((nonnull));
-extern int mnt_context_disable_swapmatch(struct libmnt_context *cxt, int disable)
- __ul_attribute__((nonnull));
+ int action, int flags);
+extern int mnt_context_helper_setopt(struct libmnt_context *cxt, int c, char *arg);
+
+extern int mnt_context_set_optsmode(struct libmnt_context *cxt, int mode);
+extern int mnt_context_disable_canonicalize(struct libmnt_context *cxt, int disable);
+extern int mnt_context_enable_lazy(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_rdonly_umount(struct libmnt_context *cxt, int enable);
+extern int mnt_context_disable_helpers(struct libmnt_context *cxt, int disable);
+extern int mnt_context_enable_sloppy(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_fake(struct libmnt_context *cxt, int enable);
+extern int mnt_context_disable_mtab(struct libmnt_context *cxt, int disable);
+extern int mnt_context_enable_force(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_verbose(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_loopdel(struct libmnt_context *cxt, int enable);
+extern int mnt_context_enable_fork(struct libmnt_context *cxt, int enable);
+extern int mnt_context_disable_swapmatch(struct libmnt_context *cxt, int disable);
extern int mnt_context_get_optsmode(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
@@ -720,24 +648,21 @@ extern int mnt_context_is_child(struct libmnt_context *cxt)
__ul_attribute__((warn_unused_result));
extern int mnt_context_wait_for_children(struct libmnt_context *cxt,
- int *nchildren, int *nerrs)
- __ul_attribute__((nonnull(1)));
+ int *nchildren, int *nerrs);
extern int mnt_context_is_fs_mounted(struct libmnt_context *cxt,
struct libmnt_fs *fs, int *mounted)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_context_set_fs(struct libmnt_context *cxt, struct libmnt_fs *fs)
- __ul_attribute__((nonnull(1)));
+extern int mnt_context_set_fs(struct libmnt_context *cxt, struct libmnt_fs *fs);
extern struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_context_set_source(struct libmnt_context *cxt, const char *source)
- __ul_attribute__((nonnull(1)));
-extern int mnt_context_set_target(struct libmnt_context *cxt, const char *target)
- __ul_attribute__((nonnull(1)));
-extern int mnt_context_set_fstype(struct libmnt_context *cxt, const char *fstype)
- __ul_attribute__((nonnull(1)));
+
+extern int mnt_context_set_source(struct libmnt_context *cxt, const char *source);
+extern int mnt_context_set_target(struct libmnt_context *cxt, const char *target);
+extern int mnt_context_set_fstype(struct libmnt_context *cxt, const char *fstype);
+
extern const char *mnt_context_get_source(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
@@ -748,48 +673,36 @@ extern const char *mnt_context_get_fstype(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr)
- __ul_attribute__((nonnull(1)));
-extern int mnt_context_append_options(struct libmnt_context *cxt,
- const char *optstr)
- __ul_attribute__((nonnull));
+extern int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr);
+extern int mnt_context_append_options(struct libmnt_context *cxt, const char *optstr);
+
extern const char *mnt_context_get_options(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_context_set_fstype_pattern(struct libmnt_context *cxt,
- const char *pattern)
- __ul_attribute__((nonnull(1)));
-extern int mnt_context_set_options_pattern(struct libmnt_context *cxt,
- const char *pattern)
- __ul_attribute__((nonnull(1)));
+extern int mnt_context_set_fstype_pattern(struct libmnt_context *cxt, const char *pattern);
+extern int mnt_context_set_options_pattern(struct libmnt_context *cxt, const char *pattern);
extern int mnt_context_set_passwd_cb(struct libmnt_context *cxt,
char *(*get)(struct libmnt_context *),
void (*release)(struct libmnt_context *, char *))
- __ul_attribute__((nonnull(1)))
__ul_attribute__((deprecated));
extern int mnt_context_set_tables_errcb(struct libmnt_context *cxt,
- int (*cb)(struct libmnt_table *tb, const char *filename, int line))
- __ul_attribute__((nonnull(1)));
+ int (*cb)(struct libmnt_table *tb, const char *filename, int line));
extern int mnt_context_set_fstab(struct libmnt_context *cxt,
- struct libmnt_table *tb)
- __ul_attribute__((nonnull(1)));
+ struct libmnt_table *tb);
extern int mnt_context_get_fstab(struct libmnt_context *cxt,
struct libmnt_table **tb)
- __ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
+
extern int mnt_context_get_mtab(struct libmnt_context *cxt,
- struct libmnt_table **tb)
- __ul_attribute__((nonnull));
+ struct libmnt_table **tb);
extern int mnt_context_get_table(struct libmnt_context *cxt,
const char *filename,
- struct libmnt_table **tb)
- __ul_attribute__((nonnull));
+ struct libmnt_table **tb);
extern int mnt_context_set_cache(struct libmnt_context *cxt,
- struct libmnt_cache *cache)
- __ul_attribute__((nonnull(1)));
+ struct libmnt_cache *cache);
extern struct libmnt_cache *mnt_context_get_cache(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
@@ -797,25 +710,18 @@ extern struct libmnt_lock *mnt_context_get_lock(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
extern int mnt_context_set_mflags(struct libmnt_context *cxt,
- unsigned long flags)
- __ul_attribute__((nonnull));
+ unsigned long flags);
extern int mnt_context_get_mflags(struct libmnt_context *cxt,
- unsigned long *flags)
- __ul_attribute__((nonnull));
+ unsigned long *flags);
extern int mnt_context_set_user_mflags(struct libmnt_context *cxt,
- unsigned long flags)
- __ul_attribute__((nonnull));
+ unsigned long flags);
extern int mnt_context_get_user_mflags(struct libmnt_context *cxt,
- unsigned long *flags)
- __ul_attribute__((nonnull));
+ unsigned long *flags);
-extern int mnt_context_set_mountdata(struct libmnt_context *cxt, void *data)
- __ul_attribute__((nonnull(1)));
-extern int mnt_context_apply_fstab(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
+extern int mnt_context_set_mountdata(struct libmnt_context *cxt, void *data);
+extern int mnt_context_apply_fstab(struct libmnt_context *cxt);
-extern int mnt_context_reset_status(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
+extern int mnt_context_reset_status(struct libmnt_context *cxt);
extern int mnt_context_get_status(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
@@ -836,49 +742,36 @@ extern int mnt_context_get_syscall_errno(struct libmnt_context *cxt)
__ul_attribute__((warn_unused_result));
extern int mnt_context_strerror(struct libmnt_context *cxt, char *buf,
- size_t bufsiz)
- __ul_attribute__((nonnull));
+ size_t bufsiz);
/* context_mount.c */
-extern int mnt_context_mount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
-extern int mnt_context_umount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
+extern int mnt_context_mount(struct libmnt_context *cxt);
+extern int mnt_context_umount(struct libmnt_context *cxt);
extern int mnt_context_next_mount(struct libmnt_context *cxt,
struct libmnt_iter *itr,
struct libmnt_fs **fs,
- int *mntrc, int *ignored)
- __ul_attribute__((nonnull(1, 2, 3)));
+ int *mntrc, int *ignored);
extern int mnt_context_prepare_mount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_context_do_mount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
-extern int mnt_context_finalize_mount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
+extern int mnt_context_do_mount(struct libmnt_context *cxt);
+extern int mnt_context_finalize_mount(struct libmnt_context *cxt);
/* context_umount.c */
extern int mnt_context_next_umount(struct libmnt_context *cxt,
struct libmnt_iter *itr,
struct libmnt_fs **fs,
- int *mntrc, int *ignored)
- __ul_attribute__((nonnull(1, 2, 3)));
+ int *mntrc, int *ignored);
extern int mnt_context_prepare_umount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_context_do_umount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
-extern int mnt_context_finalize_umount(struct libmnt_context *cxt)
- __ul_attribute__((nonnull));
-
+extern int mnt_context_do_umount(struct libmnt_context *cxt);
+extern int mnt_context_finalize_umount(struct libmnt_context *cxt);
extern int mnt_context_tab_applied(struct libmnt_context *cxt)
__ul_attribute__((nonnull))
__ul_attribute__((warn_unused_result));
-extern int mnt_context_set_syscall_status(struct libmnt_context *cxt, int status)
- __ul_attribute__((nonnull));
+extern int mnt_context_set_syscall_status(struct libmnt_context *cxt, int status);
/*
* mount(8) userspace options masks (MNT_MAP_USERSPACE map)
diff --git a/libmount/src/lock.c b/libmount/src/lock.c
index b149b6f8b..e5393d0a4 100644
--- a/libmount/src/lock.c
+++ b/libmount/src/lock.c
@@ -53,9 +53,6 @@ struct libmnt_lock *mnt_new_lock(const char *datafile, pid_t id)
char *lo = NULL, *ln = NULL;
size_t losz;
- if (!datafile)
- return NULL;
-
/* for flock we use "foo.lock, for mtab "foo~"
*/
losz = strlen(datafile) + sizeof(".lock");
diff --git a/libmount/src/mountP.h b/libmount/src/mountP.h
index be583469e..dca70accb 100644
--- a/libmount/src/mountP.h
+++ b/libmount/src/mountP.h
@@ -123,8 +123,7 @@ struct libmnt_test {
};
/* test.c */
-extern int mnt_run_test(struct libmnt_test *tests, int argc, char *argv[])
- __attribute__((nonnull));
+extern int mnt_run_test(struct libmnt_test *tests, int argc, char *argv[]);
#endif
/* utils.c */
@@ -134,45 +133,36 @@ extern int startswith(const char *s, const char *sx)
__attribute__((nonnull));
extern int mnt_is_readonly(const char *path)
__attribute__((nonnull));
-extern int mnt_parse_offset(const char *str, size_t len, uintmax_t *res)
- __attribute__((nonnull(1,3)));
-extern int mnt_chdir_to_parent(const char *target, char **filename)
- __attribute__((nonnull));
+extern int mnt_parse_offset(const char *str, size_t len, uintmax_t *res);
+
+extern int mnt_chdir_to_parent(const char *target, char **filename);
extern char *mnt_get_username(const uid_t uid);
-extern int mnt_get_uid(const char *username, uid_t *uid)
- __attribute__((nonnull));
-extern int mnt_get_gid(const char *groupname, gid_t *gid)
- __attribute__((nonnull));
+extern int mnt_get_uid(const char *username, uid_t *uid);
+extern int mnt_get_gid(const char *groupname, gid_t *gid);
extern int mnt_in_group(gid_t gid);
-extern char *mnt_get_fs_root(const char *path, const char *mountpoint)
- __attribute__((nonnull(1)));
-extern int mnt_open_uniq_filename(const char *filename, char **name)
- __attribute__((nonnull(1)));
+extern char *mnt_get_fs_root(const char *path, const char *mountpoint);
+extern int mnt_open_uniq_filename(const char *filename, char **name);
extern int mnt_has_regular_utab(const char **utab, int *writable);
extern const char *mnt_get_utab_path(void);
-extern int mnt_get_filesystems(char ***filesystems, const char *pattern)
- __attribute__((nonnull(1)));
+extern int mnt_get_filesystems(char ***filesystems, const char *pattern);
extern void mnt_free_filesystems(char **filesystems);
-extern char *mnt_get_kernel_cmdline_option(const char *name)
- __attribute__((nonnull));
+extern char *mnt_get_kernel_cmdline_option(const char *name);
/* tab.c */
extern int mnt_table_set_parser_fltrcb( struct libmnt_table *tb,
int (*cb)(struct libmnt_fs *, void *),
- void *data)
- __attribute__((nonnull(1)));
+ void *data);
extern struct libmnt_fs *mnt_table_get_fs_root(struct libmnt_table *tb,
struct libmnt_fs *fs,
unsigned long mountflags,
- char **fsroot)
- __attribute__((nonnull(2, 4)));
+ char **fsroot);
/*
* Generic iterator
*/
@@ -275,8 +265,7 @@ struct libmnt_table {
struct list_head ents; /* list of entries (libmnt_fs) */
};
-extern struct libmnt_table *__mnt_new_table_from_file(const char *filename, int fmt)
- __attribute__((nonnull(1)));
+extern struct libmnt_table *__mnt_new_table_from_file(const char *filename, int fmt);
/*
* Tab file format
@@ -382,8 +371,7 @@ struct libmnt_context
#define MNT_FL_DEFAULT 0
/* lock.c */
-extern int mnt_lock_use_simplelock(struct libmnt_lock *ml, int enable)
- __attribute__((nonnull(1)));
+extern int mnt_lock_use_simplelock(struct libmnt_lock *ml, int enable);
/* optmap.c */
extern const struct libmnt_optmap *mnt_optmap_get_entry(
@@ -391,20 +379,14 @@ extern const struct libmnt_optmap *mnt_optmap_get_entry(
int nmaps,
const char *name,
size_t namelen,
- const struct libmnt_optmap **mapent)
- __attribute__((nonnull(1, 3)));
+ const struct libmnt_optmap **mapent);
/* optstr.c */
-extern int mnt_optstr_remove_option_at(char **optstr, char *begin, char *end)
- __attribute__((nonnull));
-extern int mnt_optstr_fix_gid(char **optstr, char *value, size_t valsz, char **next)
- __attribute__((nonnull));
-extern int mnt_optstr_fix_uid(char **optstr, char *value, size_t valsz, char **next)
- __attribute__((nonnull));
-extern int mnt_optstr_fix_secontext(char **optstr, char *value, size_t valsz, char **next)
- __attribute__((nonnull));
-extern int mnt_optstr_fix_user(char **optstr)
- __attribute__((nonnull));
+extern int mnt_optstr_remove_option_at(char **optstr, char *begin, char *end);
+extern int mnt_optstr_fix_gid(char **optstr, char *value, size_t valsz, char **next);
+extern int mnt_optstr_fix_uid(char **optstr, char *value, size_t valsz, char **next);
+extern int mnt_optstr_fix_secontext(char **optstr, char *value, size_t valsz, char **next);
+extern int mnt_optstr_fix_user(char **optstr);
/* fs.c */
extern struct libmnt_fs *mnt_copy_mtab_fs(const struct libmnt_fs *fs)
@@ -415,46 +397,33 @@ extern int __mnt_fs_set_fstype_ptr(struct libmnt_fs *fs, char *fstype)
__attribute__((nonnull(1)));
/* context.c */
-extern int mnt_context_prepare_srcpath(struct libmnt_context *cxt)
- __attribute__((nonnull));
-extern int mnt_context_prepare_target(struct libmnt_context *cxt)
- __attribute__((nonnull));
-extern int mnt_context_guess_fstype(struct libmnt_context *cxt)
- __attribute__((nonnull));
+extern int mnt_context_prepare_srcpath(struct libmnt_context *cxt);
+extern int mnt_context_prepare_target(struct libmnt_context *cxt);
+extern int mnt_context_guess_fstype(struct libmnt_context *cxt);
extern int mnt_context_prepare_helper(struct libmnt_context *cxt,
- const char *name, const char *type)
- __attribute__((nonnull(1,2)));
-extern int mnt_context_prepare_update(struct libmnt_context *cxt)
- __attribute__((nonnull));
-extern int mnt_context_merge_mflags(struct libmnt_context *cxt)
- __attribute__((nonnull));
-extern int mnt_context_update_tabs(struct libmnt_context *cxt)
- __attribute__((nonnull));
+ const char *name, const char *type);
+extern int mnt_context_prepare_update(struct libmnt_context *cxt);
+extern int mnt_context_merge_mflags(struct libmnt_context *cxt);
+extern int mnt_context_update_tabs(struct libmnt_context *cxt);
-extern int mnt_context_umount_setopt(struct libmnt_context *cxt, int c, char *arg)
- __attribute__((nonnull(1)));
-extern int mnt_context_mount_setopt(struct libmnt_context *cxt, int c, char *arg)
- __attribute__((nonnull(1)));
+extern int mnt_context_umount_setopt(struct libmnt_context *cxt, int c, char *arg);
+extern int mnt_context_mount_setopt(struct libmnt_context *cxt, int c, char *arg);
extern int mnt_context_is_loopdev(struct libmnt_context *cxt)
__attribute__((nonnull));
-extern int mnt_context_setup_loopdev(struct libmnt_context *cxt)
- __attribute__((nonnull));
-extern int mnt_context_delete_loopdev(struct libmnt_context *cxt)
- __attribute__((nonnull));
-extern int mnt_context_clear_loopdev(struct libmnt_context *cxt)
- __attribute__((nonnull));
+
+extern int mnt_context_setup_loopdev(struct libmnt_context *cxt);
+extern int mnt_context_delete_loopdev(struct libmnt_context *cxt);
+extern int mnt_context_clear_loopdev(struct libmnt_context *cxt);
extern int mnt_fork_context(struct libmnt_context *cxt);
extern int mnt_context_set_tabfilter(struct libmnt_context *cxt,
int (*fltr)(struct libmnt_fs *, void *),
- void *data)
- __attribute__((nonnull(1)));
+ void *data);
/* tab_update.c */
extern int mnt_update_set_filename(struct libmnt_update *upd,
- const char *filename, int userspace_only)
- __attribute__((nonnull(1)));
+ const char *filename, int userspace_only);
#endif /* _LIBMOUNT_PRIVATE_H */
diff --git a/libmount/src/optstr.c b/libmount/src/optstr.c
index 16d6d13a2..d0072447b 100644
--- a/libmount/src/optstr.c
+++ b/libmount/src/optstr.c
@@ -166,7 +166,8 @@ int mnt_optstr_next_option(char **optstr, char **name, size_t *namesz,
return mnt_optstr_parse_next(optstr, name, namesz, value, valuesz);
}
-static int __mnt_optstr_append_option(char **optstr,
+static int __attribute__((nonnull))
+__mnt_optstr_append_option(char **optstr,
const char *name, size_t nsz,
const char *value, size_t vsz)
{
@@ -356,7 +357,8 @@ int mnt_optstr_remove_option_at(char **optstr, char *begin, char *end)
}
/* insert 'substr' or '=substr' to @str on position @pos */
-static int insert_value(char **str, char *pos, const char *substr, char **next)
+static int __attribute__((nonnull(1,2,3)))
+insert_value(char **str, char *pos, const char *substr, char **next)
{
size_t subsz = strlen(substr); /* substring size */
size_t strsz = strlen(*str);
diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c
index 8a9d7349e..56da8ec47 100644
--- a/libmount/src/tab_parse.c
+++ b/libmount/src/tab_parse.c
@@ -791,7 +791,8 @@ struct libmnt_table *mnt_new_table_from_dir(const char *dirname)
int mnt_table_set_parser_errcb(struct libmnt_table *tb,
int (*cb)(struct libmnt_table *tb, const char *filename, int line))
{
- assert(tb);
+ if (!tb)
+ return -EINVAL;
tb->errcb = cb;
return 0;
}
@@ -804,7 +805,8 @@ int mnt_table_set_parser_fltrcb(struct libmnt_table *tb,
int (*cb)(struct libmnt_fs *, void *),
void *data)
{
- assert(tb);
+ if (!tb)
+ return -EINVAL;
DBG(TAB, mnt_debug_h(tb, "%s table parser filter", cb ? "set" : "unset"));
tb->fltrcb = cb;
diff --git a/libmount/src/tab_update.c b/libmount/src/tab_update.c
index 4f04c8ecd..7ae540abf 100644
--- a/libmount/src/tab_update.c
+++ b/libmount/src/tab_update.c
@@ -87,6 +87,8 @@ int mnt_update_set_filename(struct libmnt_update *upd, const char *filename,
int rw = 0;
assert(upd);
+ if (!upd)
+ return -EINVAL;
/* filename explicitly defined */
if (filename) {
diff --git a/libmount/src/utils.c b/libmount/src/utils.c
index 74c3ad509..af6eb0b33 100644
--- a/libmount/src/utils.c
+++ b/libmount/src/utils.c
@@ -142,12 +142,14 @@ int mnt_chdir_to_parent(const char *target, char **filename)
"current directory moved to %s [last_component='%s']",
parent, last));
- *filename = buf;
+ if (filename) {
+ *filename = buf;
- if (!last || !*last)
- memcpy(*filename, ".", 2);
- else
- memcpy(*filename, last, strlen(last) + 1);
+ if (!last || !*last)
+ memcpy(*filename, ".", 2);
+ else
+ memcpy(*filename, last, strlen(last) + 1);
+ }
return 0;
err:
free(buf);
@@ -268,8 +270,6 @@ int mnt_fstype_is_pseudofs(const char *type)
*/
int mnt_fstype_is_netfs(const char *type)
{
- if (!type)
- return 0;
if (strcmp(type, "cifs") == 0 ||
strcmp(type, "smbfs") == 0 ||
strncmp(type,"nfs", 3) == 0 ||
@@ -811,8 +811,8 @@ int mnt_open_uniq_filename(const char *filename, char **name)
int rc, fd;
char *n;
- assert(filename);
-
+ if (!filename)
+ return -EINVAL;
if (name)
*name = NULL;
@@ -922,8 +922,8 @@ char *mnt_get_kernel_cmdline_option(const char *name)
char buf[BUFSIZ]; /* see kernel include/asm-generic/setup.h: COMMAND_LINE_SIZE */
const char *path = _PATH_PROC_CMDLINE;
- assert(name);
- assert(*name);
+ if (!name)
+ return NULL;
#ifdef TEST_PROGRAM
path = safe_getenv("LIBMOUNT_KERNEL_CMDLINE");