mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-07 20:42:09 -05:00
dll: fsp_fuse_opt_insert_arg/fsp_fuse_opt_free_args: testing
This commit is contained in:
parent
c851e9c98e
commit
7ea13a967a
@ -23,6 +23,10 @@
|
|||||||
#ifndef FUSE_OPT_H_
|
#ifndef FUSE_OPT_H_
|
||||||
#define FUSE_OPT_H_
|
#define FUSE_OPT_H_
|
||||||
|
|
||||||
|
#if !defined(WINFSP_DLL_INTERNAL)
|
||||||
|
#include <stdlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -431,7 +431,7 @@ FSP_FUSE_API int fsp_fuse_opt_insert_arg(struct fuse_args *args, int pos, const
|
|||||||
|
|
||||||
if (0 == args)
|
if (0 == args)
|
||||||
return -1;
|
return -1;
|
||||||
if (!args->allocated && 0 != args->argv)
|
if (0 != args->argv && !args->allocated)
|
||||||
return -1;
|
return -1;
|
||||||
if (0 > pos || pos > args->argc)
|
if (0 > pos || pos > args->argc)
|
||||||
return -1;
|
return -1;
|
||||||
@ -448,14 +448,15 @@ FSP_FUSE_API int fsp_fuse_opt_insert_arg(struct fuse_args *args, int pos, const
|
|||||||
}
|
}
|
||||||
|
|
||||||
memcpy(argv[pos], arg, argsize);
|
memcpy(argv[pos], arg, argsize);
|
||||||
memcpy(argv, args->argv, pos);
|
memcpy(argv, args->argv, sizeof(char *) * pos);
|
||||||
memcpy(argv + pos + 1, args->argv + pos, args->argc - pos);
|
memcpy(argv + pos + 1, args->argv + pos, sizeof(char *) * (args->argc - pos));
|
||||||
|
|
||||||
memfree(args->argv);
|
memfree(args->argv);
|
||||||
|
|
||||||
args->argc++;
|
args->argc++;
|
||||||
args->argv = argv;
|
args->argv = argv;
|
||||||
argv[args->argc] = 0;
|
argv[args->argc] = 0;
|
||||||
|
args->allocated = 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user