diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2018-06-19 13:15:31 +0200 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2018-06-22 16:48:50 +0100 |
commit | f7ace61076d0ab3c71e1d2bd70967ddb0b86f220 (patch) | |
tree | 8bd8b4fe4d7414685d162f66911e9951ea3dce16 /platform/x11 | |
parent | 148b0934370336fc8b260e8c3aef83daf4d80ba4 (diff) | |
download | mupdf-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.c | 2 | ||||
-rw-r--r-- | platform/x11/pdfapp.c | 9 | ||||
-rw-r--r-- | platform/x11/pdfapp.h | 2 | ||||
-rw-r--r-- | platform/x11/win_main.c | 2 | ||||
-rw-r--r-- | platform/x11/x11_main.c | 2 |
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; |