summaryrefslogtreecommitdiff
path: root/support/dktools/dk3se.c
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-09-20 03:03:26 +0000
committerNorbert Preining <norbert@preining.info>2020-09-20 03:03:26 +0000
commit1f457376b478257b88d4a857f5ec1b6155442dd7 (patch)
tree2a06a60551dea362cf8cb0cb0ba66c78608717c4 /support/dktools/dk3se.c
parentac690ca29ad5bf8a5203a65fd6252f7b564f4727 (diff)
CTAN sync 202009200303
Diffstat (limited to 'support/dktools/dk3se.c')
-rw-r--r--support/dktools/dk3se.c159
1 files changed, 75 insertions, 84 deletions
diff --git a/support/dktools/dk3se.c b/support/dktools/dk3se.c
index db3d0a2960..7cbbb0420f 100644
--- a/support/dktools/dk3se.c
+++ b/support/dktools/dk3se.c
@@ -1,36 +1,14 @@
/*
- WARNING: This file was generated by dkct.
- Changes you make here will be lost if dkct is run again!
- You should modify the original source and run dkct on it.
- Original source: dk3se.ctr
+Copyright (C) 2013-2020, Dirk Krause
+SPDX-License-Identifier: BSD-3-Clause
*/
/*
-Copyright (C) 2013-2017, Dirk Krause
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above opyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-* Neither the name of the author nor the names of contributors may be used
- to endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ WARNING: This file was generated by the dkct program (see
+ http://dktools.sourceforge.net/ for details).
+ Changes you make here will be lost if dkct is run again!
+ You should modify the original source and run dkct on it.
+ Original source: dk3se.ctr
*/
/** @file dk3se.c The dk3se module.
@@ -43,12 +21,13 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "dk3all.h"
#include "dk3se.h"
+#include "dk3enc.h"
+#include "dk3unused.h"
-
-#line 106 "dk3se.ctr"
+#line 107 "dk3se.ctr"
@@ -67,7 +46,7 @@ dk3se_find_ansi_char(char *dp, dk3_c32_t c32)
char c = '\0';
-#line 123 "dk3se.ctr"
+#line 124 "dk3se.ctr"
if((dk3_c32_t)0x00010000UL > c32) {
u = (unsigned)c32;
if(((dk3_c32_t)0x00000019UL < c32) && ((dk3_c32_t)0x00000080UL > c32)) {
@@ -79,49 +58,49 @@ dk3se_find_ansi_char(char *dp, dk3_c32_t c32)
back = 1;
} else {
switch(u) {
- case 0x20AC: { c = (char)0x80; back = 1; } break;
- case 0x0081: { c = (char)0x81; back = 1; } break;
- case 0x201A: { c = (char)0x82; back = 1; } break;
- case 0x0192: { c = (char)0x83; back = 1; } break;
- case 0x201E: { c = (char)0x84; back = 1; } break;
- case 0x2026: { c = (char)0x85; back = 1; } break;
- case 0x2020: { c = (char)0x86; back = 1; } break;
- case 0x2021: { c = (char)0x87; back = 1; } break;
- case 0x02C6: { c = (char)0x88; back = 1; } break;
- case 0x2030: { c = (char)0x89; back = 1; } break;
- case 0x0160: { c = (char)0x8A; back = 1; } break;
- case 0x2039: { c = (char)0x8B; back = 1; } break;
- case 0x0152: { c = (char)0x8C; back = 1; } break;
- case 0x008D: { c = (char)0x8D; back = 1; } break;
- case 0x017D: { c = (char)0x8E; back = 1; } break;
- case 0x008F: { c = (char)0x8F; back = 1; } break;
- case 0x0090: { c = (char)0x90; back = 1; } break;
- case 0x2018: { c = (char)0x91; back = 1; } break;
- case 0x2019: { c = (char)0x92; back = 1; } break;
- case 0x201C: { c = (char)0x93; back = 1; } break;
- case 0x201D: { c = (char)0x94; back = 1; } break;
- case 0x2022: { c = (char)0x95; back = 1; } break;
- case 0x2013: { c = (char)0x96; back = 1; } break;
- case 0x2014: { c = (char)0x97; back = 1; } break;
- case 0x02DC: { c = (char)0x98; back = 1; } break;
- case 0x2122: { c = (char)0x99; back = 1; } break;
- case 0x0161: { c = (char)0x9A; back = 1; } break;
- case 0x203A: { c = (char)0x9B; back = 1; } break;
- case 0x0153: { c = (char)0x9C; back = 1; } break;
- case 0x009D: { c = (char)0x9D; back = 1; } break;
- case 0x017E: { c = (char)0x9E; back = 1; } break;
- case 0x0178: { c = (char)0x9F; back = 1; } break;
+ case 0x20AC: { c = '\x80'; back = 1; } break;
+ case 0x0081: { c = '\x81'; back = 1; } break;
+ case 0x201A: { c = '\x82'; back = 1; } break;
+ case 0x0192: { c = '\x83'; back = 1; } break;
+ case 0x201E: { c = '\x84'; back = 1; } break;
+ case 0x2026: { c = '\x85'; back = 1; } break;
+ case 0x2020: { c = '\x86'; back = 1; } break;
+ case 0x2021: { c = '\x87'; back = 1; } break;
+ case 0x02C6: { c = '\x88'; back = 1; } break;
+ case 0x2030: { c = '\x89'; back = 1; } break;
+ case 0x0160: { c = '\x8A'; back = 1; } break;
+ case 0x2039: { c = '\x8B'; back = 1; } break;
+ case 0x0152: { c = '\x8C'; back = 1; } break;
+ case 0x008D: { c = '\x8D'; back = 1; } break;
+ case 0x017D: { c = '\x8E'; back = 1; } break;
+ case 0x008F: { c = '\x8F'; back = 1; } break;
+ case 0x0090: { c = '\x90'; back = 1; } break;
+ case 0x2018: { c = '\x91'; back = 1; } break;
+ case 0x2019: { c = '\x92'; back = 1; } break;
+ case 0x201C: { c = '\x93'; back = 1; } break;
+ case 0x201D: { c = '\x94'; back = 1; } break;
+ case 0x2022: { c = '\x95'; back = 1; } break;
+ case 0x2013: { c = '\x96'; back = 1; } break;
+ case 0x2014: { c = '\x97'; back = 1; } break;
+ case 0x02DC: { c = '\x98'; back = 1; } break;
+ case 0x2122: { c = '\x99'; back = 1; } break;
+ case 0x0161: { c = '\x9A'; back = 1; } break;
+ case 0x203A: { c = '\x9B'; back = 1; } break;
+ case 0x0153: { c = '\x9C'; back = 1; } break;
+ case 0x009D: { c = '\x9D'; back = 1; } break;
+ case 0x017E: { c = '\x9E'; back = 1; } break;
+ case 0x0178: { c = '\x9F'; back = 1; } break;
}
}
}
}
if(back) {
-#line 171 "dk3se.ctr"
+#line 172 "dk3se.ctr"
*dp = c;
}
-#line 173 "dk3se.ctr"
+#line 174 "dk3se.ctr"
return back;
}
@@ -139,7 +118,7 @@ dk3se_must_encode_for_url(char c)
int back = 1;
-#line 189 "dk3se.ctr"
+#line 190 "dk3se.ctr"
if(('a' <= c) && ('z' >= c)) {
back = 0;
} else {
@@ -158,7 +137,7 @@ dk3se_must_encode_for_url(char c)
}
}
-#line 206 "dk3se.ctr"
+#line 207 "dk3se.ctr"
return back;
}
@@ -191,10 +170,10 @@ dk3se_fputc_checked(
char c = '\0';
-#line 237 "dk3se.ctr"
+#line 238 "dk3se.ctr"
if(se & DK3SE_ANSI) {
-#line 238 "dk3se.ctr"
+#line 239 "dk3se.ctr"
back = dk3se_find_ansi_char(&c, c32);
if(!(back)) {
if(ev) { *ev = ((*ev) | DK3SE_ANSI); }
@@ -203,7 +182,7 @@ dk3se_fputc_checked(
}
} else {
-#line 245 "dk3se.ctr"
+#line 246 "dk3se.ctr"
if((dk3_c32_t)0x00000100UL > c32) {
u = (unsigned)c32; uc = (unsigned char)u; c = (char)uc;
back = 1;
@@ -215,23 +194,23 @@ dk3se_fputc_checked(
}
if(back) {
-#line 255 "dk3se.ctr"
+#line 256 "dk3se.ctr"
if(fipo) {
if(se & DK3SE_URL) {
-#line 257 "dk3se.ctr"
+#line 258 "dk3se.ctr"
if(dk3se_must_encode_for_url(c)) {
buf[0] = '%';
-#line 259 "dk3se.ctr"
- sprintf(&(buf[1]), "%02lx", (unsigned long)c32);
+#line 260 "dk3se.ctr"
+ sprintf(&(buf[1]), "%02lx", dk3enc_uc_to_ul(c32));
if(EOF == fputs(buf, fipo)) {
back = 0;
if(we) { *we = 1;}
}
} else {
-#line 265 "dk3se.ctr"
+#line 266 "dk3se.ctr"
if(EOF == fputc(c, fipo)) {
back = 0;
if(we) { *we = 1; }
@@ -239,7 +218,7 @@ dk3se_fputc_checked(
}
} else {
-#line 271 "dk3se.ctr"
+#line 272 "dk3se.ctr"
if(EOF == fputc(c, fipo)) {
back = 0;
if(we) { *we = 1; }
@@ -248,7 +227,7 @@ dk3se_fputc_checked(
}
}
-#line 278 "dk3se.ctr"
+#line 279 "dk3se.ctr"
return back;
}
@@ -310,9 +289,17 @@ int
dk3se_fct
(
dkChar const *str,
+#if DK3_CHAR_SIZE == 1
int enc,
+#else
+ int DK3_ARG_UNUSED(enc),
+#endif
FILE *fipo,
+#if DK3_CHAR_SIZE == 1
int se,
+#else
+ int DK3_ARG_UNUSED(se),
+#endif
int *ev,
int *we,
dk3_app_t *app
@@ -324,9 +311,11 @@ dk3se_fct
int back = 1;
int myev = 0;
int mywe = 0;
+ DK3_UNUSED_ARG(enc)
+ DK3_UNUSED_ARG(se)
-#line 354 "dk3se.ctr"
+#line 365 "dk3se.ctr"
ptr = str;
while(*ptr) {
if(!dk3se_fputc_checked(*ptr, fipo, se, &myev, &mywe, app)) { back = 0; }
@@ -336,7 +325,7 @@ dk3se_fct
dk3se_show_results(str, ev, we, myev, mywe, 0, app);
}
-#line 362 "dk3se.ctr"
+#line 373 "dk3se.ctr"
return back;
#else
dk3_c16_t const *sp;
@@ -347,9 +336,11 @@ dk3se_fct
int myev = 0;
int mywe = 0;
int myde = 0;
+ DK3_UNUSED_ARG(enc)
+ DK3_UNUSED_ARG(se)
-#line 373 "dk3se.ctr"
+#line 386 "dk3se.ctr"
sp = (dk3_c16_t const *)str;
sl = dk3str_len(str);
while(sl > 0) {
@@ -380,7 +371,7 @@ dk3se_fct
dk3se_show_results(str, ev, we, myev, mywe, myde, app);
}
-#line 402 "dk3se.ctr"
+#line 415 "dk3se.ctr"
return back;
#endif
#else
@@ -395,7 +386,7 @@ dk3se_fct
char c;
-#line 415 "dk3se.ctr"
+#line 428 "dk3se.ctr"
sp = (unsigned char const *)str;
sl = dk3str_c8_len((char const *)sp);
if(DK3_ENCODING_UTF8 == enc) {
@@ -438,7 +429,7 @@ dk3se_fct
}
}
-#line 456 "dk3se.ctr"
+#line 469 "dk3se.ctr"
return back;
#endif
}