Re: [PATCH] hfs: Change structure initialisation to C99 style

From: Viacheslav Dubeyko
Date: Wed Jun 22 2016 - 13:32:23 EST


On Wed, 2016-06-22 at 11:04 +0530, Amitoj Kaur Chawla wrote:
> To allow for structure randomisation, replace the in order
> struct initialisation style with explicit field style.
> Also, remove an unnecessary initialisation since NULL values do not
> need to be explicitly initialised.
>
> The Coccinelle semantic patch used to make this change is as follows:
>

Looks reasonable.

Reviewed-by: Vyacheslav Dubeyko <slava@xxxxxxxxxxx>

Thanks,
Vyacheslav Dubeyko.


> @decl@
> identifier i1,fld;
> type T;
> field list[n] fs;
> @@
>
> struct i1 {
> fs
> T fld;
> ...};
>
> @@
> identifier decl.i1,i2,decl.fld;
> expression e;
> position bad.p, bad.fix;
> @@
>
> struct i1 i2@p = { ...,
> + .fld = e
> - e@fix
> ,...};
>
> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
> ---
> fs/hfs/inode.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
> index cb1e5fa..29fc0ea 100644
> --- a/fs/hfs/inode.c
> +++ b/fs/hfs/inode.c
> @@ -380,7 +380,7 @@ static int hfs_read_inode(struct inode *inode, void *data)
> */
> struct inode *hfs_iget(struct super_block *sb, struct hfs_cat_key *key, hfs_cat_rec *rec)
> {
> - struct hfs_iget_data data = { key, rec };
> + struct hfs_iget_data data = { .key = key, .rec = rec };
> struct inode *inode;
> u32 cnid;
>
> @@ -527,7 +527,7 @@ static struct dentry *hfs_file_lookup(struct inode *dir, struct dentry *dentry,
> fd.search_key->cat = HFS_I(dir)->cat_key;
> res = hfs_brec_read(&fd, &rec, sizeof(rec));
> if (!res) {
> - struct hfs_iget_data idata = { NULL, &rec };
> + struct hfs_iget_data idata = { .rec = &rec };
> hfs_read_inode(inode, &idata);
> }
> hfs_find_exit(&fd);