aboutsummaryrefslogtreecommitdiffstats
path: root/src/args.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/args.c')
-rw-r--r--src/args.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/args.c b/src/args.c
index 7b307a8..69f1272 100644
--- a/src/args.c
+++ b/src/args.c
@@ -8,10 +8,10 @@
#include <stdarg.h>
#include <string.h>
-int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs);
-int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs);
+int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs);
+int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs);
-int l2_args_get_game_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs)
+int l2_args_get_game_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs)
{
const char *mc_args = NULL;
json_t *jargs = NULL;
@@ -24,9 +24,9 @@ int l2_args_get_game_args(json_t *version, l2_subst_t *subst, l2_version_feature
if (!json_is_array(jargs)) return -1;
- return l2_args__get_args_json(subst, jargs, feature_matcher, out_args, out_nargs);
+ return l2_args__get_args_json(subst, jargs, feature_matcher, muser, out_args, out_nargs);
} else if (mc_args) {
- return l2_args__get_game_args(subst, mc_args, feature_matcher, out_args, out_nargs);
+ return l2_args__get_game_args(subst, mc_args, feature_matcher, muser, out_args, out_nargs);
} else {
return -1;
}
@@ -66,7 +66,7 @@ cleanup:
return -1;
}
-int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs)
+int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs)
{
char **args = NULL;
size_t nargs = 0;
@@ -85,11 +85,11 @@ int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_f
if (*arg_start && l2_args__array_append(subst, &args, &nargs, arg_start, NULL) < 0) goto cleanup;
- if ((*feature_matcher)("is_demo_user", json_true())) {
+ if ((*feature_matcher)("is_demo_user", json_true(), muser)) {
if (l2_args__array_append(subst, &args, &nargs, "--demo", NULL) < 0) goto cleanup;
}
- if ((*feature_matcher)("has_custom_resolution", json_true())) {
+ if ((*feature_matcher)("has_custom_resolution", json_true(), muser)) {
if (l2_args__array_append(subst, &args, &nargs, "--width", "${resolution_width}", "--height", "${resolution_height}", NULL) < 0) goto cleanup;
}
@@ -107,7 +107,7 @@ cleanup:
return -1;
}
-int l2_args_get_jvm_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs)
+int l2_args_get_jvm_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs)
{
json_t *jarguments = json_object_get(version, "arguments");
if (!jarguments) {
@@ -145,10 +145,10 @@ int l2_args_get_jvm_args(json_t *version, l2_subst_t *subst, l2_version_feature_
return -1;
}
- return l2_args__get_args_json(subst, jjvmargs, feature_matcher, out_args, out_nargs);
+ return l2_args__get_args_json(subst, jjvmargs, feature_matcher, muser, out_args, out_nargs);
}
-int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs)
+int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs)
{
char **args = NULL;
size_t nargs = 0;
@@ -168,7 +168,7 @@ int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_
if (!json_is_array(rules)) goto cleanup;
- switch (l2_version_check_rules(rules, feature_matcher)) {
+ switch (l2_version_check_rules(rules, feature_matcher, muser)) {
case RULE_CHECK_ALLOW: {
json_t *argval;
size_t argidx;