]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libmount: clean nonnull attribute usage
authorKarel Zak <kzak@redhat.com>
Tue, 4 Dec 2012 13:22:39 +0000 (14:22 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 4 Dec 2012 13:22:39 +0000 (14:22 +0100)
 - 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>
libmount/src/context.c
libmount/src/context_loopdev.c
libmount/src/fs.c
libmount/src/iter.c
libmount/src/libmount.h.in
libmount/src/lock.c
libmount/src/mountP.h
libmount/src/optstr.c
libmount/src/tab_parse.c
libmount/src/tab_update.c
libmount/src/utils.c

index 21c64726f9af390e7e814aba0fed842bb340b826..3269b0beb8feb7ca0b018ba24e181e00c0718505 100644 (file)
@@ -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;
 }
 
 /**
index fc8da9fe78a42a32f7b6d405a77f870578a0ebfc..369f81dc0f7d48b5c7d73c371e9f7e0be1d8f982 100644 (file)
@@ -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)) {
                /*
index 6e0c4e645858340aba4aa00f7daf86bf976fec43..d94476870eaeb006c4fe1d5ba66779308aea44c3 100644 (file)
@@ -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)
index 393c23eb284f90ab367ae7707573f2938e2bafbd..d7b8adbef60bac03300437f5e776da5268c1c19c 100644 (file)
@@ -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;
 }
index f91f6eb8af52a88ca3693fb75439f49dfca0faef..06b1595a5fbd2611be8e0fdfc60cb6606d1f1f69 100644 (file)
@@ -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)
index b149b6f8b423227d48b614cbc0bd0571ec1e7ef4..e5393d0a467b144530c266ad07590a68df69c1b8 100644 (file)
@@ -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");
index be583469e27e69a4a85d6e40413e43d2f1f72918..dca70accbaccb427f4cb38e0cf7ec959f21837e4 100644 (file)
@@ -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 */
index 16d6d13a24f5db11681e5886e75f1350a105b177..d0072447be30c7e11b940fab52231c4ce04e6489 100644 (file)
@@ -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);
index 8a9d7349e199e339d88e7c7880bdfa231aa8ee1e..56da8ec47312d2b1d4886825b0466960ca45ed2a 100644 (file)
@@ -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;
index 4f04c8ecd4cd9ab7f2622035a05ee1cab0e10fcd..7ae540abf5ec2ae4e8d6c14b3e14ee2b8797c0d9 100644 (file)
@@ -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) {
index 74c3ad509a4b6c5a34b2719bd51f0969ca35bda6..af6eb0b33aab91432473a6ff8221ba76a0e2ed55 100644 (file)
@@ -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");