summaryrefslogtreecommitdiff
path: root/platform/x11
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-06-19 13:15:31 +0200
committerRobin Watts <robin.watts@artifex.com>2018-06-22 16:48:50 +0100
commitf7ace61076d0ab3c71e1d2bd70967ddb0b86f220 (patch)
tree8bd8b4fe4d7414685d162f66911e9951ea3dce16 /platform/x11
parent148b0934370336fc8b260e8c3aef83daf4d80ba4 (diff)
downloadmupdf-f7ace61076d0ab3c71e1d2bd70967ddb0b86f220.tar.xz
Keep copy of decoded utf8 text string in pdf_obj.
Removes the need to alloc/free text strings in the API, allowing for simple functions like pdf_dict_get_text_string.
Diffstat (limited to 'platform/x11')
-rw-r--r--platform/x11/jstest_main.c2
-rw-r--r--platform/x11/pdfapp.c9
-rw-r--r--platform/x11/pdfapp.h2
-rw-r--r--platform/x11/win_main.c2
-rw-r--r--platform/x11/x11_main.c2
5 files changed, 6 insertions, 11 deletions
diff --git a/platform/x11/jstest_main.c b/platform/x11/jstest_main.c
index 14577bd2..0c729b86 100644
--- a/platform/x11/jstest_main.c
+++ b/platform/x11/jstest_main.c
@@ -81,7 +81,7 @@ char *wintextinput(pdfapp_t *app, char *inittext, int retry)
return inittext;
}
-int winchoiceinput(pdfapp_t *app, int nopts, char *opts[], int *nvals, char *vals[])
+int winchoiceinput(pdfapp_t *app, int nopts, const char *opts[], int *nvals, const char *vals[])
{
return 0;
}
diff --git a/platform/x11/pdfapp.c b/platform/x11/pdfapp.c
index f011b5b0..1c5ae45d 100644
--- a/platform/x11/pdfapp.c
+++ b/platform/x11/pdfapp.c
@@ -1680,8 +1680,8 @@ void pdfapp_onmouse(pdfapp_t *app, int x, int y, int btn, int modifiers, int sta
{
int nopts;
int nvals;
- char **opts = NULL;
- char **vals = NULL;
+ const char **opts = NULL;
+ const char **vals = NULL;
fz_var(opts);
fz_var(vals);
@@ -1706,12 +1706,7 @@ void pdfapp_onmouse(pdfapp_t *app, int x, int y, int btn, int modifiers, int sta
}
fz_always(ctx)
{
- int i;
- for (i=0; i < nopts; ++i)
- fz_free(ctx, opts[i]);
fz_free(ctx, opts);
- for (i=0; i < nvals; ++i)
- fz_free(ctx, vals[i]);
fz_free(ctx, vals);
}
fz_catch(ctx)
diff --git a/platform/x11/pdfapp.h b/platform/x11/pdfapp.h
index 09d8f16a..b6c2127c 100644
--- a/platform/x11/pdfapp.h
+++ b/platform/x11/pdfapp.h
@@ -30,7 +30,7 @@ extern void winrepaint(pdfapp_t*);
extern void winrepaintsearch(pdfapp_t*);
extern char *winpassword(pdfapp_t*, char *filename);
extern char *wintextinput(pdfapp_t*, char *inittext, int retry);
-extern int winchoiceinput(pdfapp_t*, int nopts, char *opts[], int *nvals, char *vals[]);
+extern int winchoiceinput(pdfapp_t*, int nopts, const char *opts[], int *nvals, const char *vals[]);
extern void winopenuri(pdfapp_t*, char *s);
extern void wincursor(pdfapp_t*, int curs);
extern void windocopy(pdfapp_t*);
diff --git a/platform/x11/win_main.c b/platform/x11/win_main.c
index 877f8c73..dd406c42 100644
--- a/platform/x11/win_main.c
+++ b/platform/x11/win_main.c
@@ -450,7 +450,7 @@ char *wintextinput(pdfapp_t *app, char *inittext, int retry)
return NULL;
}
-int winchoiceinput(pdfapp_t *app, int nopts, char *opts[], int *nvals, char *vals[])
+int winchoiceinput(pdfapp_t *app, int nopts, const char *opts[], int *nvals, const char *vals[])
{
int code;
cd_nopts = nopts;
diff --git a/platform/x11/x11_main.c b/platform/x11/x11_main.c
index edbb9fa8..7e5942bf 100644
--- a/platform/x11/x11_main.c
+++ b/platform/x11/x11_main.c
@@ -184,7 +184,7 @@ char *wintextinput(pdfapp_t *app, char *inittext, int retry)
return NULL;
}
-int winchoiceinput(pdfapp_t *app, int nopts, char *opts[], int *nvals, char *vals[])
+int winchoiceinput(pdfapp_t *app, int nopts, const char *opts[], int *nvals, const char *vals[])
{
/* FIXME: temporary dummy implementation */
return 0;