aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/dvi_extractor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/dvi_extractor.c')
-rw-r--r--src/plugins/dvi_extractor.c34
1 files changed, 15 insertions, 19 deletions
diff --git a/src/plugins/dvi_extractor.c b/src/plugins/dvi_extractor.c
index 9f7c8ff..f01ae8f 100644
--- a/src/plugins/dvi_extractor.c
+++ b/src/plugins/dvi_extractor.c
@@ -46,7 +46,6 @@ parseZZZ (const char *data,
46 size_t slen; 46 size_t slen;
47 size_t end; 47 size_t end;
48 int i; 48 int i;
49 char *value;
50 49
51 end = pos + len; 50 end = pos + len;
52 slen = strlen ("ps:SDict begin ["); 51 slen = strlen ("ps:SDict begin [");
@@ -70,24 +69,21 @@ parseZZZ (const char *data,
70 while ((slen < end) && (data[slen] != ')')) 69 while ((slen < end) && (data[slen] != ')'))
71 slen++; 70 slen++;
72 slen = slen - pos; 71 slen = slen - pos;
73 value = malloc (slen + 1); 72 {
74 if (value != NULL) 73 char value[slen + 1];
75 { 74 value[slen] = '\0';
76 value[slen] = '\0'; 75 memcpy (value, &data[pos], slen);
77 memcpy (value, &data[pos], slen); 76 if (0 != proc (proc_cls,
78 if (0 != proc (proc_cls, 77 "dvi",
79 "dvi", 78 tmap[i].type,
80 tmap[i].type, 79 EXTRACTOR_METAFORMAT_C_STRING,
81 EXTRACTOR_METAFORMAT_C_STRING, 80 "text/plain",
82 "text/plain", 81 value,
83 value, 82 slen +1))
84 strlen (value) +1)) 83 {
85 { 84 return 1;
86 free (value); 85 }
87 return 1; 86 }
88 }
89 free (value);
90 }
91 pos += slen + 1; 87 pos += slen + 1;
92 } 88 }
93 } 89 }