w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

GlobalParams.cc
Go to the documentation of this file.
1 //========================================================================
2 //
3 // GlobalParams.cc
4 //
5 // Copyright 2001-2003 Glyph & Cog, LLC
6 //
7 //========================================================================
8 
9 //========================================================================
10 //
11 // Modified under the Poppler project - http://poppler.freedesktop.org
12 //
13 // All changes made under the Poppler project to this file are licensed
14 // under GPL version 2 or later
15 //
16 // Copyright (C) 2005 Martin Kretzschmar <martink@gnome.org>
17 // Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
18 // Copyright (C) 2005, 2007-2010, 2012, 2015, 2017-2020 Albert Astals Cid <aacid@kde.org>
19 // Copyright (C) 2005 Jonathan Blandford <jrb@redhat.com>
20 // Copyright (C) 2006, 2007 Jeff Muizelaar <jeff@infidigm.net>
21 // Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
22 // Copyright (C) 2006 Ed Catmur <ed@catmur.co.uk>
23 // Copyright (C) 2007 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
24 // Copyright (C) 2007, 2009 Jonathan Kew <jonathan_kew@sil.org>
25 // Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
26 // Copyright (C) 2009, 2011, 2012, 2015 William Bader <williambader@hotmail.com>
27 // Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
28 // Copyright (C) 2010, 2012 Hib Eris <hib@hiberis.nl>
29 // Copyright (C) 2010 Patrick Spendrin <ps_ml@gmx.de>
30 // Copyright (C) 2010 Jakub Wilk <jwilk@jwilk.net>
31 // Copyright (C) 2011 Pino Toscano <pino@kde.org>
32 // Copyright (C) 2011 Koji Otani <sho@bbr.jp>
33 // Copyright (C) 2012 Yi Yang <ahyangyi@gmail.com>
34 // Copyright (C) 2012, 2017 Adrian Johnson <ajohnson@redneon.com>
35 // Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
36 // Copyright (C) 2012 Peter Breitenlohner <peb@mppmu.mpg.de>
37 // Copyright (C) 2013, 2014 Jason Crain <jason@aquaticape.us>
38 // Copyright (C) 2017 Christoph Cullmann <cullmann@kde.org>
39 // Copyright (C) 2017 Jean Ghali <jghali@libertysurf.fr>
40 // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, <info@kdab.com>. Work sponsored by the LiMux project of the city of Munich
41 // Copyright (C) 2018, 2020 Adam Reichold <adam.reichold@t-online.de>
42 // Copyright (C) 2019 Christian Persch <chpe@src.gnome.org>
43 // Copyright (C) 2019 Oliver Sander <oliver.sander@tu-dresden.de>
44 // Copyright (C) 2020 Kai Pastor <dg0yt@darc.de>
45 //
46 // To see a description of the changes please see the Changelog file that
47 // came with your tarball or type make ChangeLog if you are building from git
48 //
49 //========================================================================
50 
51 #include <config.h>
52 
53 #include <cstring>
54 #include <cstdio>
55 #include <cctype>
56 #ifdef _WIN32
57 # include <shlobj.h>
58 # include <mbstring.h>
59 #endif
60 #include "goo/glibc.h"
61 #include "goo/gmem.h"
62 #include "goo/GooString.h"
63 #include "goo/gfile.h"
64 #include "goo/gdir.h"
65 #include "Error.h"
66 #include "NameToCharCode.h"
67 #include "CharCodeToUnicode.h"
68 #include "UnicodeMap.h"
69 #include "CMap.h"
70 #include "FontEncodingTables.h"
71 #include "GlobalParams.h"
72 #include "GfxFont.h"
73 
74 #ifdef WITH_FONTCONFIGURATION_FONTCONFIG
75 # include <fontconfig/fontconfig.h>
76 #endif
77 
78 #ifdef _MSC_VER
79 # define strcasecmp stricmp
80 #else
81 # include <strings.h>
82 #endif
83 
84 #ifndef FC_WEIGHT_BOOK
85 # define FC_WEIGHT_BOOK 75
86 #endif
87 
88 #include "NameToUnicodeTable.h"
89 #include "UnicodeMapTables.h"
90 #include "UnicodeMapFuncs.h"
91 
92 //------------------------------------------------------------------------
93 
94 #define cidToUnicodeCacheSize 4
95 #define unicodeToUnicodeCacheSize 4
96 
97 //------------------------------------------------------------------------
98 
99 std::unique_ptr<GlobalParams> globalParams;
100 
101 #if defined(ENABLE_RELOCATABLE) && defined(_WIN32)
102 
103 /* search for data relative to where we are installed */
104 
105 static HMODULE hmodule;
106 
107 extern "C" {
108 /* Provide declaration to squelch -Wmissing-declarations warning */
109 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved);
110 
111 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
112 {
113  switch (fdwReason) {
114  case DLL_PROCESS_ATTACH:
115  hmodule = hinstDLL;
116  break;
117  }
118 
119  return TRUE;
120 }
121 }
122 
123 #define POPPLER_DATADIR "."
124 
125 static const char *get_poppler_datadir(void)
126 {
127  static char retval[MAX_PATH];
128  static int beenhere = 0;
129 
130  unsigned char *p;
131 
132  if (beenhere)
133  return retval;
134 
135 /*
136  Read poppler data in TeXworks (2017 A. Kakuto)
137 */
138  if (!GetModuleFileNameA (hmodule, (CHAR *) retval, sizeof(retval) - 20 - 15))
139  return POPPLER_DATADIR;
140 
141  p = _mbsrchr((unsigned char *)retval, '\\');
142  *p = '\0';
143 
144 /*
145  now retval is the directory of binaries.
146 */
147 
148  if ((stricmp ((const char *)(p-3), "bin") == 0) ||
149  (stricmp ((const char *)(p-5), "bin64") == 0)) { /* W32TeX */
150  p = _mbsrchr ((unsigned char *) retval, '\\');
151  if (p) {
152  *p = '\0';
153  }
154  strcat (retval, "\\share\\texworks\\share\\poppler");
155  } else if ((stricmp ((const char *)(p-5), "win32") == 0) ||
156  (stricmp ((const char *)(p-5), "win64") == 0) ||
157  (stricmp ((const char *)(p-13), "arm64-windows") == 0)) { /* TeX Live */
158  p = _mbsrchr ((unsigned char *) retval, '\\');
159  if (p) {
160  *p = '\0';
161  p = _mbsrchr ((unsigned char *) retval, '\\');
162  if (p) {
163  *p = '\0';
164  }
165  }
166  strcat (retval, "\\tlpkg\\texworks\\share\\poppler");
167  } else { /* generic case */
168  strcat (retval, "\\share\\poppler");
169  }
170 
171  beenhere = 1;
172 
173  return retval;
174 }
175 
176 # undef POPPLER_DATADIR
177 # define POPPLER_DATADIR get_poppler_datadir()
178 
179 #endif
180 
181 //------------------------------------------------------------------------
182 // SysFontInfo
183 //------------------------------------------------------------------------
184 
185 class SysFontInfo
186 {
187 public:
189  bool bold;
190  bool italic;
191  bool oblique;
195  int fontNum; // for TrueType collections
197 
198  SysFontInfo(GooString *nameA, bool boldA, bool italicA, bool obliqueA, bool fixedWidthA, GooString *pathA, SysFontType typeA, int fontNumA, GooString *substituteNameA);
200  SysFontInfo(const SysFontInfo &) = delete;
201  SysFontInfo &operator=(const SysFontInfo &) = delete;
202  bool match(const SysFontInfo *fi) const;
203  bool match(const GooString *nameA, bool boldA, bool italicA, bool obliqueA, bool fixedWidthA) const;
204  bool match(const GooString *nameA, bool boldA, bool italicA) const;
205 };
206 
207 SysFontInfo::SysFontInfo(GooString *nameA, bool boldA, bool italicA, bool obliqueA, bool fixedWidthA, GooString *pathA, SysFontType typeA, int fontNumA, GooString *substituteNameA)
208 {
209  name = nameA;
210  bold = boldA;
211  italic = italicA;
212  oblique = obliqueA;
213  fixedWidth = fixedWidthA;
214  path = pathA;
215  type = typeA;
216  fontNum = fontNumA;
217  substituteName = substituteNameA;
218 }
219 
221 {
222  delete name;
223  delete path;
224  delete substituteName;
225 }
226 
227 bool SysFontInfo::match(const SysFontInfo *fi) const
228 {
229  return !strcasecmp(name->c_str(), fi->name->c_str()) && bold == fi->bold && italic == fi->italic && oblique == fi->oblique && fixedWidth == fi->fixedWidth;
230 }
231 
232 bool SysFontInfo::match(const GooString *nameA, bool boldA, bool italicA, bool obliqueA, bool fixedWidthA) const
233 {
234  return !strcasecmp(name->c_str(), nameA->c_str()) && bold == boldA && italic == italicA && oblique == obliqueA && fixedWidth == fixedWidthA;
235 }
236 
237 bool SysFontInfo::match(const GooString *nameA, bool boldA, bool italicA) const
238 {
239  return !strcasecmp(name->c_str(), nameA->c_str()) && bold == boldA && italic == italicA;
240 }
241 
242 //------------------------------------------------------------------------
243 // SysFontList
244 //------------------------------------------------------------------------
245 
246 class SysFontList
247 {
248 public:
251  SysFontList(const SysFontList &) = delete;
252  SysFontList &operator=(const SysFontList &) = delete;
253  const SysFontInfo *find(const GooString *name, bool isFixedWidth, bool exact);
254 
255 #ifdef _WIN32
256  void scanWindowsFonts(GooString *winFontDir);
257 #endif
258 #ifdef WITH_FONTCONFIGURATION_FONTCONFIG
259  void addFcFont(SysFontInfo *si) { fonts->push_back(si); }
260 #endif
261 private:
262 #ifdef _WIN32
263  SysFontInfo *makeWindowsFont(const char *name, int fontNum, const char *path);
264 #endif
265 
266  std::vector<SysFontInfo *> *fonts;
267 };
268 
270 {
271  fonts = new std::vector<SysFontInfo *>();
272 }
273 
275 {
276  for (auto entry : *fonts) {
277  delete entry;
278  }
279  delete fonts;
280 }
281 
282 const SysFontInfo *SysFontList::find(const GooString *name, bool fixedWidth, bool exact)
283 {
284  GooString *name2;
285  bool bold, italic, oblique;
286  int n;
287 
288  name2 = name->copy();
289 
290  // remove space, comma, dash chars
291  {
292  int i = 0;
293  while (i < name2->getLength()) {
294  const char c = name2->getChar(i);
295  if (c == ' ' || c == ',' || c == '-') {
296  name2->del(i);
297  } else {
298  ++i;
299  }
300  }
301  n = name2->getLength();
302  }
303 
304  // remove trailing "MT" (Foo-MT, Foo-BoldMT, etc.)
305  if (n > 2 && !strcmp(name2->c_str() + n - 2, "MT")) {
306  name2->del(n - 2, 2);
307  n -= 2;
308  }
309 
310  // look for "Regular"
311  if (n > 7 && !strcmp(name2->c_str() + n - 7, "Regular")) {
312  name2->del(n - 7, 7);
313  n -= 7;
314  }
315 
316  // look for "Italic"
317  if (n > 6 && !strcmp(name2->c_str() + n - 6, "Italic")) {
318  name2->del(n - 6, 6);
319  italic = true;
320  n -= 6;
321  } else {
322  italic = false;
323  }
324 
325  // look for "Oblique"
326  if (n > 6 && !strcmp(name2->c_str() + n - 7, "Oblique")) {
327  name2->del(n - 7, 7);
328  oblique = true;
329  n -= 6;
330  } else {
331  oblique = false;
332  }
333 
334  // look for "Bold"
335  if (n > 4 && !strcmp(name2->c_str() + n - 4, "Bold")) {
336  name2->del(n - 4, 4);
337  bold = true;
338  n -= 4;
339  } else {
340  bold = false;
341  }
342 
343  // remove trailing "MT" (FooMT-Bold, etc.)
344  if (n > 2 && !strcmp(name2->c_str() + n - 2, "MT")) {
345  name2->del(n - 2, 2);
346  n -= 2;
347  }
348 
349  // remove trailing "PS"
350  if (n > 2 && !strcmp(name2->c_str() + n - 2, "PS")) {
351  name2->del(n - 2, 2);
352  n -= 2;
353  }
354 
355  // remove trailing "IdentityH"
356  if (n > 9 && !strcmp(name2->c_str() + n - 9, "IdentityH")) {
357  name2->del(n - 9, 9);
358  n -= 9;
359  }
360 
361  // search for the font
362  const SysFontInfo *fi = nullptr;
363  for (const SysFontInfo *f : *fonts) {
364  fi = f;
365  if (fi->match(name2, bold, italic, oblique, fixedWidth)) {
366  break;
367  }
368  fi = nullptr;
369  }
370  if (!fi && !exact && bold) {
371  // try ignoring the bold flag
372  for (const SysFontInfo *f : *fonts) {
373  fi = f;
374  if (fi->match(name2, false, italic)) {
375  break;
376  }
377  fi = nullptr;
378  }
379  }
380  if (!fi && !exact && (bold || italic)) {
381  // try ignoring the bold and italic flags
382  for (const SysFontInfo *f : *fonts) {
383  fi = f;
384  if (fi->match(name2, false, false)) {
385  break;
386  }
387  fi = nullptr;
388  }
389  }
390 
391  delete name2;
392  return fi;
393 }
394 
395 #define globalParamsLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
396 #define unicodeMapCacheLocker() std::unique_lock<std::recursive_mutex> locker(unicodeMapCacheMutex)
397 #define cMapCacheLocker() std::unique_lock<std::recursive_mutex> locker(cMapCacheMutex)
398 
399 //------------------------------------------------------------------------
400 // parsing
401 //------------------------------------------------------------------------
402 
403 GlobalParams::GlobalParams(const char *customPopplerDataDir) : popplerDataDir(customPopplerDataDir)
404 {
405  // scan the encoding in reverse because we want the lowest-numbered
406  // index for each char name ('space' is encoded twice)
407  macRomanReverseMap = new NameToCharCode();
408  for (int i = 255; i >= 0; --i) {
409  if (macRomanEncoding[i]) {
410  macRomanReverseMap->add(macRomanEncoding[i], (CharCode)i);
411  }
412  }
413 
414  nameToUnicodeZapfDingbats = new NameToCharCode();
415  nameToUnicodeText = new NameToCharCode();
416  toUnicodeDirs = new std::vector<GooString *>();
417  sysFonts = new SysFontList();
418  psExpandSmaller = false;
419  psShrinkLarger = true;
420  textEncoding = new GooString("UTF-8");
421  overprintPreview = false;
422  printCommands = false;
423  profileCommands = false;
424  errQuiet = false;
425 
426  cidToUnicodeCache = new CharCodeToUnicodeCache(cidToUnicodeCacheSize);
427  unicodeToUnicodeCache = new CharCodeToUnicodeCache(unicodeToUnicodeCacheSize);
428  unicodeMapCache = new UnicodeMapCache();
429  cMapCache = new CMapCache();
430 
431  utf8Map = nullptr;
432 
433  baseFontsInitialized = false;
434 
435  // set up the initial nameToUnicode tables
436  for (int i = 0; nameToUnicodeZapfDingbatsTab[i].name; ++i) {
437  nameToUnicodeZapfDingbats->add(nameToUnicodeZapfDingbatsTab[i].name, nameToUnicodeZapfDingbatsTab[i].u);
438  }
439 
440  for (int i = 0; nameToUnicodeTextTab[i].name; ++i) {
441  nameToUnicodeText->add(nameToUnicodeTextTab[i].name, nameToUnicodeTextTab[i].u);
442  }
443 
444  // set up the residentUnicodeMaps table
445  residentUnicodeMaps.reserve(6);
447  residentUnicodeMaps.emplace(map.getEncodingName(), std::move(map));
448  map = { "ASCII7", false, ascii7UnicodeMapRanges, ascii7UnicodeMapLen };
449  residentUnicodeMaps.emplace(map.getEncodingName(), std::move(map));
450  map = { "Symbol", false, symbolUnicodeMapRanges, symbolUnicodeMapLen };
451  residentUnicodeMaps.emplace(map.getEncodingName(), std::move(map));
452  map = { "ZapfDingbats", false, zapfDingbatsUnicodeMapRanges, zapfDingbatsUnicodeMapLen };
453  residentUnicodeMaps.emplace(map.getEncodingName(), std::move(map));
454  map = { "UTF-8", true, &mapUTF8 };
455  residentUnicodeMaps.emplace(map.getEncodingName(), std::move(map));
456  map = { "UTF-16", true, &mapUTF16 };
457  residentUnicodeMaps.emplace(map.getEncodingName(), std::move(map));
458 
459  scanEncodingDirs();
460 }
461 
463 {
464  GDir *dir;
465  GDirEntry *entry;
466  const char *dataRoot = popplerDataDir ? popplerDataDir : POPPLER_DATADIR;
467 
468  // allocate buffer large enough to append "/nameToUnicode"
469  size_t bufSize = strlen(dataRoot) + strlen("/nameToUnicode") + 1;
470  char *dataPathBuffer = new char[bufSize];
471 
472  snprintf(dataPathBuffer, bufSize, "%s/nameToUnicode", dataRoot);
473  dir = new GDir(dataPathBuffer, true);
474  while (entry = dir->getNextEntry(), entry != nullptr) {
475  if (!entry->isDir()) {
476  parseNameToUnicode(entry->getFullPath());
477  }
478  delete entry;
479  }
480  delete dir;
481 
482  snprintf(dataPathBuffer, bufSize, "%s/cidToUnicode", dataRoot);
483  dir = new GDir(dataPathBuffer, false);
484  while (entry = dir->getNextEntry(), entry != nullptr) {
485  addCIDToUnicode(entry->getName(), entry->getFullPath());
486  delete entry;
487  }
488  delete dir;
489 
490  snprintf(dataPathBuffer, bufSize, "%s/unicodeMap", dataRoot);
491  dir = new GDir(dataPathBuffer, false);
492  while (entry = dir->getNextEntry(), entry != nullptr) {
493  addUnicodeMap(entry->getName(), entry->getFullPath());
494  delete entry;
495  }
496  delete dir;
497 
498  snprintf(dataPathBuffer, bufSize, "%s/cMap", dataRoot);
499  dir = new GDir(dataPathBuffer, false);
500  while (entry = dir->getNextEntry(), entry != nullptr) {
501  addCMapDir(entry->getName(), entry->getFullPath());
502  toUnicodeDirs->push_back(entry->getFullPath()->copy());
503  delete entry;
504  }
505  delete dir;
506 
507  delete[] dataPathBuffer;
508 }
509 
511 {
512  char *tok1, *tok2;
513  FILE *f;
514  char buf[256];
515  int line;
516  Unicode u;
517  char *tokptr;
518 
519  if (!(f = openFile(name->c_str(), "r"))) {
520  error(errIO, -1, "Couldn't open 'nameToUnicode' file '{0:t}'", name);
521  return;
522  }
523  line = 1;
524  while (getLine(buf, sizeof(buf), f)) {
525  tok1 = strtok_r(buf, " \t\r\n", &tokptr);
526  tok2 = strtok_r(nullptr, " \t\r\n", &tokptr);
527  if (tok1 && tok2) {
528  sscanf(tok1, "%x", &u);
530  } else {
531  error(errConfig, -1, "Bad line in 'nameToUnicode' file ({0:t}:{1:d})", name, line);
532  }
533  ++line;
534  }
535  fclose(f);
536 }
537 
539 {
540  cidToUnicodes[collection->toStr()] = fileName->toStr();
541 }
542 
543 void GlobalParams::addUnicodeMap(const GooString *encodingName, const GooString *fileName)
544 {
545  unicodeMaps[encodingName->toStr()] = fileName->toStr();
546 }
547 
548 void GlobalParams::addCMapDir(const GooString *collection, const GooString *dir)
549 {
550  cMapDirs.emplace(collection->toStr(), dir->toStr());
551 }
552 
553 bool GlobalParams::parseYesNo2(const char *token, bool *flag)
554 {
555  if (!strcmp(token, "yes")) {
556  *flag = true;
557  } else if (!strcmp(token, "no")) {
558  *flag = false;
559  } else {
560  return false;
561  }
562  return true;
563 }
564 
566 {
567  delete macRomanReverseMap;
568 
570  delete nameToUnicodeText;
571  for (auto entry : *toUnicodeDirs) {
572  delete entry;
573  }
574  delete toUnicodeDirs;
575  delete sysFonts;
576  delete textEncoding;
577 
578  delete cidToUnicodeCache;
579  delete unicodeToUnicodeCache;
580  delete unicodeMapCache;
581  delete cMapCache;
582 }
583 
584 //------------------------------------------------------------------------
585 // accessors
586 //------------------------------------------------------------------------
587 
589 {
590  // no need to lock - macRomanReverseMap is constant
591  return macRomanReverseMap->lookup(charName);
592 }
593 
595 {
596  // no need to lock - nameToUnicodeZapfDingbats and nameToUnicodeText are constant
598  if (!u)
599  u = nameToUnicodeText->lookup(charName);
600  return u;
601 }
602 
604 {
605  // no need to lock - nameToUnicodeText is constant
606  return nameToUnicodeText->lookup(charName);
607 }
608 
610 {
611  UnicodeMap *map = nullptr;
612 
614  const auto unicodeMap = residentUnicodeMaps.find(encodingName);
615  if (unicodeMap != residentUnicodeMaps.end()) {
616  map = &unicodeMap->second;
617  }
618 
619  return map;
620 }
621 
623 {
624  FILE *file = nullptr;
625 
627  const auto unicodeMap = unicodeMaps.find(encodingName);
628  if (unicodeMap != unicodeMaps.end()) {
629  file = openFile(unicodeMap->second.c_str(), "r");
630  }
631 
632  return file;
633 }
634 
635 FILE *GlobalParams::findCMapFile(const GooString *collection, const GooString *cMapName)
636 {
637  FILE *file = nullptr;
638 
640  const auto collectionCMapDirs = cMapDirs.equal_range(collection->toStr());
641  for (auto cMapDir = collectionCMapDirs.first; cMapDir != collectionCMapDirs.second; ++cMapDir) {
642  auto *const path = new GooString(cMapDir->second);
643  appendToPath(path, cMapName->c_str());
644  file = openFile(path->c_str(), "r");
645  delete path;
646  if (file) {
647  break;
648  }
649  }
650 
651  return file;
652 }
653 
655 {
657  FILE *f;
658 
660  for (const GooString *dir : *toUnicodeDirs) {
661  fileName = appendToPath(dir->copy(), name->c_str());
662  f = openFile(fileName->c_str(), "r");
663  delete fileName;
664  if (f) {
665  return f;
666  }
667  }
668  return nullptr;
669 }
670 
671 #ifdef WITH_FONTCONFIGURATION_FONTCONFIG
672 static bool findModifier(const char *name, const char *modifier, const char **start)
673 {
674  const char *match;
675 
676  if (name == nullptr)
677  return false;
678 
679  match = strstr(name, modifier);
680  if (match) {
681  if (*start == nullptr || match < *start)
682  *start = match;
683  return true;
684  } else {
685  return false;
686  }
687 }
688 
689 static const char *getFontLang(const GfxFont *font)
690 {
691  const char *lang;
692 
693  // find the language we want the font to support
694  if (font->isCIDFont()) {
695  const GooString *collection = ((GfxCIDFont *)font)->getCollection();
696  if (collection) {
697  if (strcmp(collection->c_str(), "Adobe-GB1") == 0)
698  lang = "zh-cn"; // Simplified Chinese
699  else if (strcmp(collection->c_str(), "Adobe-CNS1") == 0)
700  lang = "zh-tw"; // Traditional Chinese
701  else if (strcmp(collection->c_str(), "Adobe-Japan1") == 0)
702  lang = "ja"; // Japanese
703  else if (strcmp(collection->c_str(), "Adobe-Japan2") == 0)
704  lang = "ja"; // Japanese
705  else if (strcmp(collection->c_str(), "Adobe-Korea1") == 0)
706  lang = "ko"; // Korean
707  else if (strcmp(collection->c_str(), "Adobe-UCS") == 0)
708  lang = "xx";
709  else if (strcmp(collection->c_str(), "Adobe-Identity") == 0)
710  lang = "xx";
711  else {
712  error(errUnimplemented, -1, "Unknown CID font collection, please report to poppler bugzilla.");
713  lang = "xx";
714  }
715  } else
716  lang = "xx";
717  } else
718  lang = "xx";
719  return lang;
720 }
721 
722 static FcPattern *buildFcPattern(const GfxFont *font, const GooString *base14Name)
723 {
724  int weight = -1, slant = -1, width = -1, spacing = -1;
725  const char *family;
726  const char *start;
727  FcPattern *p;
728 
729  // this is all heuristics will be overwritten if font had proper info
730  char *fontName = strdup(((base14Name == nullptr) ? font->getNameWithoutSubsetTag() : base14Name->toStr()).c_str());
731 
732  const char *modifiers = strchr(fontName, ',');
733  if (modifiers == nullptr)
734  modifiers = strchr(fontName, '-');
735 
736  // remove the - from the names, for some reason, Fontconfig does not
737  // understand "MS-Mincho" but does with "MS Mincho"
738  const int len = strlen(fontName);
739  for (int i = 0; i < len; i++)
740  fontName[i] = (fontName[i] == '-' ? ' ' : fontName[i]);
741 
742  start = nullptr;
743  findModifier(modifiers, "Regular", &start);
744  findModifier(modifiers, "Roman", &start);
745 
746  if (findModifier(modifiers, "Oblique", &start))
748  if (findModifier(modifiers, "Italic", &start))
750  if (findModifier(modifiers, "Bold", &start))
751  weight = FC_WEIGHT_BOLD;
752  if (findModifier(modifiers, "Light", &start))
753  weight = FC_WEIGHT_LIGHT;
754  if (findModifier(modifiers, "Medium", &start))
755  weight = FC_WEIGHT_MEDIUM;
756  if (findModifier(modifiers, "Condensed", &start))
758 
759  if (start) {
760  // There have been "modifiers" in the name, crop them to obtain
761  // the family name
762  family = strndup(fontName, modifiers - fontName);
763  free(fontName);
764  fontName = nullptr;
765  } else {
766  family = fontName;
767  fontName = nullptr;
768  }
769 
770  // use font flags
771  if (font->isFixedWidth())
772  spacing = FC_MONO;
773  if (font->isBold())
774  weight = FC_WEIGHT_BOLD;
775  if (font->isItalic())
777 
778  bool freeFamily = true;
779  // if the FontDescriptor specified a family name use it
780  if (font->getFamily()) {
781  free((char *)family);
782  family = font->getFamily()->c_str();
783  freeFamily = false;
784  }
785 
786  // if the FontDescriptor specified a weight use it
787  switch (font->getWeight()) {
788  case GfxFont::W100:
789  weight = FC_WEIGHT_EXTRALIGHT;
790  break;
791  case GfxFont::W200:
792  weight = FC_WEIGHT_LIGHT;
793  break;
794  case GfxFont::W300:
795  weight = FC_WEIGHT_BOOK;
796  break;
797  case GfxFont::W400:
798  weight = FC_WEIGHT_NORMAL;
799  break;
800  case GfxFont::W500:
801  weight = FC_WEIGHT_MEDIUM;
802  break;
803  case GfxFont::W600:
804  weight = FC_WEIGHT_DEMIBOLD;
805  break;
806  case GfxFont::W700:
807  weight = FC_WEIGHT_BOLD;
808  break;
809  case GfxFont::W800:
810  weight = FC_WEIGHT_EXTRABOLD;
811  break;
812  case GfxFont::W900:
813  weight = FC_WEIGHT_BLACK;
814  break;
815  default:
816  break;
817  }
818 
819  // if the FontDescriptor specified a width use it
820  switch (font->getStretch()) {
823  break;
826  break;
827  case GfxFont::Condensed:
829  break;
832  break;
833  case GfxFont::Normal:
835  break;
838  break;
839  case GfxFont::Expanded:
841  break;
844  break;
847  break;
848  default:
849  break;
850  }
851 
852  const char *lang = getFontLang(font);
853 
855  if (slant != -1)
857  if (weight != -1)
858  FcPatternAddInteger(p, FC_WEIGHT, weight);
859  if (width != -1)
861  if (spacing != -1)
863 
864  if (freeFamily)
865  free((char *)family);
866  return p;
867 }
868 #endif
869 
871 {
872  GooString *path = nullptr;
873 
874  setupBaseFonts(nullptr);
876  const auto fontFile = fontFiles.find(fontName->toStr());
877  if (fontFile != fontFiles.end()) {
878  path = new GooString(fontFile->second);
879  }
880 
881  return path;
882 }
883 
884 /* if you can't or don't want to use Fontconfig, you need to implement
885  this function for your platform. For Windows, it's in GlobalParamsWin.cc
886 */
887 #ifdef WITH_FONTCONFIGURATION_FONTCONFIG
888 // not needed for fontconfig
889 void GlobalParams::setupBaseFonts(const char *) { }
890 
892 {
894  int fontNum;
895 
896  return findSystemFontFile(font, &type, &fontNum, nullptr, base14Name);
897 }
898 
899 GooString *GlobalParams::findSystemFontFile(const GfxFont *font, SysFontType *type, int *fontNum, GooString *substituteFontName, const GooString *base14Name)
900 {
901  const SysFontInfo *fi = nullptr;
902  FcPattern *p = nullptr;
903  GooString *path = nullptr;
904  const GooString *fontName = font->getName();
905  GooString substituteName;
906  if (!fontName)
907  return nullptr;
908 
910 
911  if ((fi = sysFonts->find(fontName, font->isFixedWidth(), true))) {
912  path = fi->path->copy();
913  *type = fi->type;
914  *fontNum = fi->fontNum;
915  substituteName.Set(fi->substituteName->c_str());
916  } else {
917  FcChar8 *s;
918  char *ext;
919  FcResult res;
920  FcFontSet *set;
921  int i;
922  FcLangSet *lb = nullptr;
923  p = buildFcPattern(font, base14Name);
924 
925  if (!p)
926  goto fin;
929  set = FcFontSort(nullptr, p, FcFalse, nullptr, &res);
930  if (!set)
931  goto fin;
932 
933  // find the language we want the font to support
934  const char *lang = getFontLang(font);
935  if (strcmp(lang, "xx") != 0) {
936  lb = FcLangSetCreate();
937  FcLangSetAdd(lb, (FcChar8 *)lang);
938  }
939 
940  /*
941  scan twice.
942  first: fonts support the language
943  second: all fonts (fall back)
944  */
945  while (fi == nullptr) {
946  for (i = 0; i < set->nfont; ++i) {
947  res = FcPatternGetString(set->fonts[i], FC_FILE, 0, &s);
948  if (res != FcResultMatch || !s)
949  continue;
950  if (lb != nullptr) {
951  FcLangSet *l;
952  res = FcPatternGetLangSet(set->fonts[i], FC_LANG, 0, &l);
953  if (res != FcResultMatch || !FcLangSetContains(l, lb)) {
954  continue;
955  }
956  }
957  FcChar8 *s2;
958  res = FcPatternGetString(set->fonts[i], FC_FULLNAME, 0, &s2);
959  if (res == FcResultMatch && s2) {
960  substituteName.Set((char *)s2);
961  } else {
962  // fontconfig does not extract fullname for some fonts
963  // create the fullname from family and style
964  res = FcPatternGetString(set->fonts[i], FC_FAMILY, 0, &s2);
965  if (res == FcResultMatch && s2) {
966  substituteName.Set((char *)s2);
967  res = FcPatternGetString(set->fonts[i], FC_STYLE, 0, &s2);
968  if (res == FcResultMatch && s2) {
969  GooString *style = new GooString((char *)s2);
970  if (style->cmp("Regular") != 0) {
971  substituteName.append(" ");
972  substituteName.append(style);
973  }
974  delete style;
975  }
976  }
977  }
978  ext = strrchr((char *)s, '.');
979  if (!ext)
980  continue;
981  if (!strncasecmp(ext, ".ttf", 4) || !strncasecmp(ext, ".ttc", 4) || !strncasecmp(ext, ".otf", 4)) {
982  int weight, slant;
983  bool bold = font->isBold();
984  bool italic = font->isItalic();
985  bool oblique = false;
986  FcPatternGetInteger(set->fonts[i], FC_WEIGHT, 0, &weight);
988  if (weight == FC_WEIGHT_DEMIBOLD || weight == FC_WEIGHT_BOLD || weight == FC_WEIGHT_EXTRABOLD || weight == FC_WEIGHT_BLACK) {
989  bold = true;
990  }
991  if (slant == FC_SLANT_ITALIC)
992  italic = true;
993  if (slant == FC_SLANT_OBLIQUE)
994  oblique = true;
995  *fontNum = 0;
996  *type = (!strncasecmp(ext, ".ttc", 4)) ? sysFontTTC : sysFontTTF;
997  FcPatternGetInteger(set->fonts[i], FC_INDEX, 0, fontNum);
998  SysFontInfo *sfi = new SysFontInfo(fontName->copy(), bold, italic, oblique, font->isFixedWidth(), new GooString((char *)s), *type, *fontNum, substituteName.copy());
999  sysFonts->addFcFont(sfi);
1000  fi = sfi;
1001  path = new GooString((char *)s);
1002  } else if (!strncasecmp(ext, ".pfa", 4) || !strncasecmp(ext, ".pfb", 4)) {
1003  int weight, slant;
1004  bool bold = font->isBold();
1005  bool italic = font->isItalic();
1006  bool oblique = false;
1007  FcPatternGetInteger(set->fonts[i], FC_WEIGHT, 0, &weight);
1008  FcPatternGetInteger(set->fonts[i], FC_SLANT, 0, &slant);
1009  if (weight == FC_WEIGHT_DEMIBOLD || weight == FC_WEIGHT_BOLD || weight == FC_WEIGHT_EXTRABOLD || weight == FC_WEIGHT_BLACK) {
1010  bold = true;
1011  }
1012  if (slant == FC_SLANT_ITALIC)
1013  italic = true;
1014  if (slant == FC_SLANT_OBLIQUE)
1015  oblique = true;
1016  *fontNum = 0;
1017  *type = (!strncasecmp(ext, ".pfa", 4)) ? sysFontPFA : sysFontPFB;
1018  FcPatternGetInteger(set->fonts[i], FC_INDEX, 0, fontNum);
1019  SysFontInfo *sfi = new SysFontInfo(fontName->copy(), bold, italic, oblique, font->isFixedWidth(), new GooString((char *)s), *type, *fontNum, substituteName.copy());
1020  sysFonts->addFcFont(sfi);
1021  fi = sfi;
1022  path = new GooString((char *)s);
1023  } else
1024  continue;
1025  break;
1026  }
1027  if (lb != nullptr) {
1028  FcLangSetDestroy(lb);
1029  lb = nullptr;
1030  } else {
1031  /* scan all fonts of the list */
1032  break;
1033  }
1034  }
1035  FcFontSetDestroy(set);
1036  }
1037  if (path == nullptr && (fi = sysFonts->find(fontName, font->isFixedWidth(), false))) {
1038  path = fi->path->copy();
1039  *type = fi->type;
1040  *fontNum = fi->fontNum;
1041  }
1042  if (substituteFontName) {
1043  substituteFontName->Set(substituteName.c_str());
1044  }
1045 fin:
1046  if (p)
1048 
1049  return path;
1050 }
1051 
1052 #elif defined(WITH_FONTCONFIGURATION_WIN32)
1053 # include "GlobalParamsWin.cc"
1054 
1056 {
1057  return findFontFile(base14Name);
1058 }
1059 #else
1061 {
1062  return findFontFile(base14Name);
1063 }
1064 
1065 static struct
1066 {
1067  const char *name;
1068  const char *t1FileName;
1069  const char *ttFileName;
1070 } displayFontTab[] = { { "Courier", "n022003l.pfb", "cour.ttf" },
1071  { "Courier-Bold", "n022004l.pfb", "courbd.ttf" },
1072  { "Courier-BoldOblique", "n022024l.pfb", "courbi.ttf" },
1073  { "Courier-Oblique", "n022023l.pfb", "couri.ttf" },
1074  { "Helvetica", "n019003l.pfb", "arial.ttf" },
1075  { "Helvetica-Bold", "n019004l.pfb", "arialbd.ttf" },
1076  { "Helvetica-BoldOblique", "n019024l.pfb", "arialbi.ttf" },
1077  { "Helvetica-Oblique", "n019023l.pfb", "ariali.ttf" },
1078  { "Symbol", "s050000l.pfb", nullptr },
1079  { "Times-Bold", "n021004l.pfb", "timesbd.ttf" },
1080  { "Times-BoldItalic", "n021024l.pfb", "timesbi.ttf" },
1081  { "Times-Italic", "n021023l.pfb", "timesi.ttf" },
1082  { "Times-Roman", "n021003l.pfb", "times.ttf" },
1083  { "ZapfDingbats", "d050000l.pfb", nullptr },
1084  { nullptr, nullptr, nullptr } };
1085 
1086 static const char *displayFontDirs[] = { "/usr/share/ghostscript/fonts", "/usr/local/share/ghostscript/fonts", "/usr/share/fonts/default/Type1", "/usr/share/fonts/default/ghostscript", "/usr/share/fonts/type1/gsfonts", nullptr };
1087 
1088 void GlobalParams::setupBaseFonts(const char *dir)
1089 {
1090  GooString *fontName;
1092  FILE *f;
1093  int i, j;
1094 
1095  for (i = 0; displayFontTab[i].name; ++i) {
1096  if (fontFiles.count(displayFontTab[i].name) > 0) {
1097  continue;
1098  }
1099  fontName = new GooString(displayFontTab[i].name);
1100  fileName = nullptr;
1101  if (dir) {
1103  if ((f = openFile(fileName->c_str(), "rb"))) {
1104  fclose(f);
1105  } else {
1106  delete fileName;
1107  fileName = nullptr;
1108  }
1109  }
1110  for (j = 0; !fileName && displayFontDirs[j]; ++j) {
1112  if ((f = openFile(fileName->c_str(), "rb"))) {
1113  fclose(f);
1114  } else {
1115  delete fileName;
1116  fileName = nullptr;
1117  }
1118  }
1119  if (!fileName) {
1120  error(errConfig, -1, "No display font for '{0:s}'", displayFontTab[i].name);
1121  delete fontName;
1122  continue;
1123  }
1124  addFontFile(fontName, fileName);
1125  }
1126 }
1127 
1128 GooString *GlobalParams::findSystemFontFile(const GfxFont *font, SysFontType *type, int *fontNum, GooString * /*substituteFontName*/, const GooString * /*base14Name*/)
1129 {
1130  const SysFontInfo *fi;
1131  GooString *path;
1132 
1133  const GooString *fontName = font->getName();
1134  if (!fontName)
1135  return nullptr;
1136 
1137  path = nullptr;
1139  if ((fi = sysFonts->find(fontName, font->isFixedWidth(), false))) {
1140  path = fi->path->copy();
1141  *type = fi->type;
1142  *fontNum = fi->fontNum;
1143  }
1144 
1145  return path;
1146 }
1147 #endif
1148 
1150 {
1152  return psExpandSmaller;
1153 }
1154 
1156 {
1158  return psShrinkLarger;
1159 }
1160 
1162 {
1164  return textEncoding->toStr();
1165 }
1166 
1168 {
1169  if (!utf8Map) {
1170  utf8Map = globalParams->getUnicodeMap("UTF-8");
1171  }
1172 
1173  return utf8Map;
1174 }
1175 
1177 {
1179  return printCommands;
1180 }
1181 
1183 {
1185  return profileCommands;
1186 }
1187 
1189 {
1190  // no locking -- this function may get called from inside a locked
1191  // section
1192  return errQuiet;
1193 }
1194 
1196 {
1197  CharCodeToUnicode *ctu;
1198 
1200  if (!(ctu = cidToUnicodeCache->getCharCodeToUnicode(collection))) {
1201  const auto cidToUnicode = cidToUnicodes.find(collection->toStr());
1202  if (cidToUnicode != cidToUnicodes.end()) {
1203  if ((ctu = CharCodeToUnicode::parseCIDToUnicode(cidToUnicode->second.c_str(), collection))) {
1204  cidToUnicodeCache->add(ctu);
1205  }
1206  }
1207  }
1208 
1209  return ctu;
1210 }
1211 
1213 {
1214  const UnicodeMap *map;
1215 
1216  if (!(map = getResidentUnicodeMap(encodingName))) {
1218  map = unicodeMapCache->getUnicodeMap(encodingName);
1219  }
1220 
1221  return map;
1222 }
1223 
1224 CMap *GlobalParams::getCMap(const GooString *collection, const GooString *cMapName)
1225 {
1226  cMapCacheLocker();
1227  return cMapCache->getCMap(collection, cMapName);
1228 }
1229 
1231 {
1232  return getUnicodeMap(textEncoding->toStr());
1233 }
1234 
1235 std::vector<GooString *> *GlobalParams::getEncodingNames()
1236 {
1237  auto *const result = new std::vector<GooString *>;
1238  for (const auto &unicodeMap : residentUnicodeMaps) {
1239  result->push_back(new GooString(unicodeMap.first));
1240  }
1241  for (const auto &unicodeMap : unicodeMaps) {
1242  result->push_back(new GooString(unicodeMap.first));
1243  }
1244  return result;
1245 }
1246 
1247 //------------------------------------------------------------------------
1248 // functions to set parameters
1249 //------------------------------------------------------------------------
1250 
1251 void GlobalParams::addFontFile(const GooString *fontName, const GooString *path)
1252 {
1254  fontFiles[fontName->toStr()] = path->toStr();
1255 }
1256 
1258 {
1261 }
1262 
1264 {
1267 }
1268 
1269 void GlobalParams::setTextEncoding(const char *encodingName)
1270 {
1272  delete textEncoding;
1273  textEncoding = new GooString(encodingName);
1274 }
1275 
1276 void GlobalParams::setOverprintPreview(bool overprintPreviewA)
1277 {
1279  overprintPreview = overprintPreviewA;
1280 }
1281 
1282 void GlobalParams::setPrintCommands(bool printCommandsA)
1283 {
1285  printCommands = printCommandsA;
1286 }
1287 
1288 void GlobalParams::setProfileCommands(bool profileCommandsA)
1289 {
1291  profileCommands = profileCommandsA;
1292 }
1293 
1294 void GlobalParams::setErrQuiet(bool errQuietA)
1295 {
1297  errQuiet = errQuietA;
1298 }
1299 
1301 {
1302  std::lock_guard<std::mutex> lock { mutex };
1303 
1304  if (count == 0) {
1305  globalParams = std::make_unique<GlobalParams>(!customDataDir.empty() ? customDataDir.c_str() : nullptr);
1306 
1307  setErrorCallback(errorCallback);
1308  }
1309 
1310  count++;
1311 }
1312 
1314 {
1315  std::lock_guard<std::mutex> lock { mutex };
1316 
1317  --count;
1318 
1319  if (count == 0) {
1320  globalParams.reset();
1321  }
1322 }
1323 
1325 {
1326  std::lock_guard<std::mutex> lock { mutex };
1327 
1328  if (count == 0) {
1329  customDataDir = dir;
1330  return true;
1331  }
1332 
1333  return false;
1334 }
1335 
1336 std::mutex GlobalParamsIniter::mutex;
return _Result< 0 ? -1 :_Result;} #line 1069 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vsnwprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsnwprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1091 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vsnwprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format, va_list _ArgList) { return _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);} #line 1108 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format, va_list _Args);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format, va_list _ArgList) { return _vsnwprintf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1133 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_c_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1163 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_c(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1179 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);} #line 1196 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl __vswprintf_l(wchar_t *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vswprintf_l(_Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1212 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf(wchar_t *const _Buffer, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_l(_Buffer,(size_t) -1, _Format,((void *) 0), _ArgList);} #line 1227 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswprintf(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1243 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1264 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1281 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 1283 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_p_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf_p((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1312 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_p(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1328 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf_l(wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1347 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf(wchar_t const *const _Format, va_list _ArgList) { return _vscwprintf_l(_Format,((void *) 0), _ArgList);} #line 1361 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf_p_l(wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf_p((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1380 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf_p(wchar_t const *const _Format, va_list _ArgList) { return _vscwprintf_p_l(_Format,((void *) 0), _ArgList);} #line 1394 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl __swprintf_l(wchar_t *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__vswprintf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1414 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1435 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf(wchar_t *const _Buffer, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__vswprintf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1454 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl swprintf(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1474 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "__swprintf_l_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl __swprintf_l(wchar_t *_Buffer, wchar_t const *_Format, _locale_t _Locale,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vswprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl __vswprintf_l(wchar_t *_Buffer, wchar_t const *_Format, _locale_t _Locale, va_list _Args);__declspec(deprecated("This function or variable may be unsafe. Consider using " "swprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _swprintf(wchar_t *_Buffer, wchar_t const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "vswprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vswprintf(wchar_t *_Buffer, wchar_t const *_Format, va_list _Args);__inline int __cdecl _swprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1511 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl swprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1532 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 1534 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_p_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1562 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_p(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1582 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_c_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1603 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_c(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1623 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwprintf_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1646 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1668 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1690 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1711 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf_l(wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1737 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf(wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_l(_Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1755 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf_p_l(wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_p_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1774 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf_p(wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_p_l(_Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1792 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #pragma warning(push) #pragma warning(disable:4141 6054) #pragma warning(pop) #line 1856 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" int __cdecl __stdio_common_vswscanf(unsigned __int64 _Options, wchar_t const *_Buffer, size_t _BufferCount, wchar_t const *_Format, _locale_t _Locale, va_list _ArgList);__inline int __cdecl _vswscanf_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options()), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1897 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswscanf(wchar_t const *_Buffer, wchar_t const *_Format, va_list _ArgList) { return _vswscanf_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 1912 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswscanf_s_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1930 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswscanf_s(wchar_t const *const _Buffer, wchar_t const *const _Format, va_list _ArgList) { return _vswscanf_s_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 1947 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 1949 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwscanf_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);} #line 1976 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vsnwscanf_s_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList);} #line 1995 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_swscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _swscanf_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2015 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "swscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl swscanf(wchar_t const *const _Buffer, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2034 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swscanf_s_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_s_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2054 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl swscanf_s(wchar_t const *const _Buffer, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_s_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2075 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 2077 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwscanf_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2100 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwscanf(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2122 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwscanf_s_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2143 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwscanf_s(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2163 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __pragma(pack(pop))#pragma warning(pop) #pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) typedef __int64 fpos_t;errno_t __cdecl _get_stream_buffer_pointers(FILE *_Stream, char ***_Base, char ***_Pointer, int **_Count);errno_t __cdecl clearerr_s(FILE *_Stream);errno_t __cdecl fopen_s(FILE **_Stream, char const *_FileName, char const *_Mode);size_t __cdecl fread_s(void *_Buffer, size_t _BufferSize, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);errno_t __cdecl freopen_s(FILE **_Stream, char const *_FileName, char const *_Mode, FILE *_OldStream);char *__cdecl gets_s(char *_Buffer, rsize_t _Size);errno_t __cdecl tmpfile_s(FILE **_Stream);errno_t __cdecl tmpnam_s(char *_Buffer, rsize_t _Size);#line 145 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" void __cdecl clearerr(FILE *_Stream);int __cdecl fclose(FILE *_Stream);int __cdecl _fcloseall(void);FILE *__cdecl _fdopen(int _FileHandle, char const *_Mode);int __cdecl feof(FILE *_Stream);int __cdecl ferror(FILE *_Stream);int __cdecl fflush(FILE *_Stream);int __cdecl fgetc(FILE *_Stream);int __cdecl _fgetchar(void);int __cdecl fgetpos(FILE *_Stream, fpos_t *_Position);char *__cdecl fgets(char *_Buffer, int _MaxCount, FILE *_Stream);int __cdecl _fileno(FILE *_Stream);int __cdecl _flushall(void);__declspec(deprecated("This function or variable may be unsafe. Consider using " "fopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) FILE *__cdecl fopen(char const *_FileName, char const *_Mode);int __cdecl fputc(int _Character, FILE *_Stream);int __cdecl _fputchar(int _Character);int __cdecl fputs(char const *_Buffer, FILE *_Stream);size_t __cdecl fread(void *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);__declspec(deprecated("This function or variable may be unsafe. Consider using " "freopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) FILE *__cdecl freopen(char const *_FileName, char const *_Mode, FILE *_Stream);FILE *__cdecl _fsopen(char const *_FileName, char const *_Mode, int _ShFlag);int __cdecl fsetpos(FILE *_Stream, fpos_t const *_Position);int __cdecl fseek(FILE *_Stream, long _Offset, int _Origin);int __cdecl _fseeki64(FILE *_Stream, __int64 _Offset, int _Origin);long __cdecl ftell(FILE *_Stream);__int64 __cdecl _ftelli64(FILE *_Stream);size_t __cdecl fwrite(void const *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);int __cdecl getc(FILE *_Stream);int __cdecl getchar(void);int __cdecl _getmaxstdio(void);int __cdecl _getw(FILE *_Stream);void __cdecl perror(char const *_ErrorMessage);int __cdecl _pclose(FILE *_Stream);FILE *__cdecl _popen(char const *_Command, char const *_Mode);#line 344 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl putc(int _Character, FILE *_Stream);int __cdecl putchar(int _Character);int __cdecl puts(char const *_Buffer);int __cdecl _putw(int _Word, FILE *_Stream);int __cdecl remove(char const *_FileName);int __cdecl rename(char const *_OldFileName, char const *_NewFileName);int __cdecl _unlink(char const *_FileName);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_unlink" ". See online help for details.")) int __cdecl unlink(char const *_FileName);#line 391 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" void __cdecl rewind(FILE *_Stream);int __cdecl _rmtmp(void);__declspec(deprecated("This function or variable may be unsafe. Consider using " "setvbuf" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) void __cdecl setbuf(FILE *_Stream, char *_Buffer);int __cdecl _setmaxstdio(int _Maximum);int __cdecl setvbuf(FILE *_Stream, char *_Buffer, int _Mode, size_t _Size);__declspec(allocator) char *__cdecl _tempnam(char const *_DirectoryName, char const *_FilePrefix);__declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpfile_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) FILE *__cdecl tmpfile(void);__declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl tmpnam(char *_Buffer);int __cdecl ungetc(int _Character, FILE *_Stream);void __cdecl _lock_file(FILE *_Stream);void __cdecl _unlock_file(FILE *_Stream);int __cdecl _fclose_nolock(FILE *_Stream);int __cdecl _fflush_nolock(FILE *_Stream);int __cdecl _fgetc_nolock(FILE *_Stream);int __cdecl _fputc_nolock(int _Character, FILE *_Stream);size_t __cdecl _fread_nolock(void *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);size_t __cdecl _fread_nolock_s(void *_Buffer, size_t _BufferSize, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);int __cdecl _fseek_nolock(FILE *_Stream, long _Offset, int _Origin);int __cdecl _fseeki64_nolock(FILE *_Stream, __int64 _Offset, int _Origin);long __cdecl _ftell_nolock(FILE *_Stream);__int64 __cdecl _ftelli64_nolock(FILE *_Stream);size_t __cdecl _fwrite_nolock(void const *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);int __cdecl _getc_nolock(FILE *_Stream);int __cdecl _putc_nolock(int _Character, FILE *_Stream);int __cdecl _ungetc_nolock(int _Character, FILE *_Stream);int *__cdecl __p__commode(void);#line 596 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vfprintf(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vfprintf_s(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vfprintf_p(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _ArgList);__inline int __cdecl _vfprintf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfprintf((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList);} #line 648 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfprintf(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfprintf_l(_Stream, _Format,((void *) 0), _ArgList);} #line 662 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfprintf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfprintf_s((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList);} #line 677 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfprintf_s(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfprintf_s_l(_Stream, _Format,((void *) 0), _ArgList);} #line 693 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 695 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfprintf_p_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfprintf_p((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList);} #line 710 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfprintf_p(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfprintf_p_l(_Stream, _Format,((void *) 0), _ArgList);} #line 724 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);} #line 738 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vprintf(char const *const _Format, va_list _ArgList) { return _vfprintf_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);} #line 751 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_s_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);} #line 765 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vprintf_s(char const *const _Format, va_list _ArgList) { return _vfprintf_s_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);} #line 780 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 782 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_p_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);} #line 796 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_p(char const *const _Format, va_list _ArgList) { return _vfprintf_p_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);} #line 809 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fprintf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 828 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl fprintf(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 846 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl _set_printf_count_output(int _Value);int __cdecl _get_printf_count_output(void);__inline int __cdecl _fprintf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 871 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl fprintf_s(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 891 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 893 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fprintf_p_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 912 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fprintf_p(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 930 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 948 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl printf(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 965 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_s_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 983 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl printf_s(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1002 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1004 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_p_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1022 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_p(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1039 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vfscanf(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _Arglist);__inline int __cdecl _vfscanf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfscanf((*__local_stdio_scanf_options()), _Stream, _Format, _Locale, _ArgList);} #line 1070 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfscanf(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfscanf_l(_Stream, _Format,((void *) 0), _ArgList);} #line 1084 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfscanf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Stream, _Format, _Locale, _ArgList);} #line 1101 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfscanf_s(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfscanf_s_l(_Stream, _Format,((void *) 0), _ArgList);} #line 1118 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1120 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscanf_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);} #line 1134 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vscanf(char const *const _Format, va_list _ArgList) { return _vfscanf_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);} #line 1147 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscanf_s_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);} #line 1161 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vscanf_s(char const *const _Format, va_list _ArgList) { return _vfscanf_s_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);} #line 1176 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1178 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _fscanf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1197 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "fscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl fscanf(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1215 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fscanf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1234 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl fscanf_s(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1254 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1256 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_scanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _scanf_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1274 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "scanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl scanf(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1291 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scanf_s_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1309 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl scanf_s(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1328 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1330 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vsprintf(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vsprintf_s(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vsnprintf_s(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, size_t _MaxCount, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vsprintf_p(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnprintf_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1399 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1415 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsnprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options())|(1ULL<< 1), _Buffer, _BufferCount, _Format,((void *) 0), _ArgList);return _Result< 0 ? -1 :_Result;} #line 1446 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsprintf_l(char *const _Buffer, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vsnprintf_l(_Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1462 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl vsprintf(char *const _Buffer, char const *const _Format, va_list _ArgList) { return _vsnprintf_l(_Buffer,(size_t) -1, _Format,((void *) 0), _ArgList);} #line 1477 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsprintf_s_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1498 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsprintf_s(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1516 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1526 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsprintf_p_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf_p((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1547 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsprintf_p(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1563 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_s_l(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsnprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1585 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_s(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);} #line 1602 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsnprintf_s(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);} #line 1630 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1641 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1659 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf(char const *const _Format, va_list _ArgList) { return _vscprintf_l(_Format,((void *) 0), _ArgList);} #line 1672 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf_p_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf_p((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1690 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf_p(char const *const _Format, va_list _ArgList) { return _vscprintf_p_l(_Format,((void *) 0), _ArgList);} #line 1703 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_c_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1723 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_c(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1739 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _sprintf_l(char *const _Buffer, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1761 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl sprintf(char *const _Buffer, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1782 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "sprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl sprintf(char *_Buffer, char const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl vsprintf(char *_Buffer, char const *_Format, va_list _Args);__inline int __cdecl _sprintf_s_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1810 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl sprintf_s(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1832 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1834 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _sprintf_p_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1862 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _sprintf_p(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1882 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snprintf_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1905 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl snprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=vsnprintf(_Buffer, _BufferCount, _Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1936 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf(_Buffer, _BufferCount, _Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1956 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl _snprintf(char *_Buffer, size_t _BufferCount, char const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl _vsnprintf(char *_Buffer, size_t _BufferCount, char const *_Format, va_list _Args);__inline int __cdecl _snprintf_c_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1986 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf_c(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2006 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf_s_l(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2028 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf_s(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2049 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2075 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_l(_Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2092 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf_p_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_p_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2110 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf_p(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_p(_Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2127 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vsscanf(unsigned __int64 _Options, char const *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);__inline int __cdecl _vsscanf_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vsscanf((*__local_stdio_scanf_options()), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 2158 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsscanf(char const *const _Buffer, char const *const _Format, va_list _ArgList) { return _vsscanf_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 2172 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsscanf_s_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vsscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 2189 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(push) #pragma warning(disable:6530) __inline int __cdecl vsscanf_s(char const *const _Buffer, char const *const _Format, va_list _ArgList) { return _vsscanf_s_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 2208 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(pop) #line 2219 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _sscanf_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsscanf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2238 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "sscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl sscanf(char const *const _Buffer, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsscanf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2256 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _sscanf_s_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsscanf_s_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2275 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl sscanf_s(char const *const _Buffer, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=vsscanf_s(_Buffer, _Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2297 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 2299 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(push) #pragma warning(disable:6530) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snscanf_l(char const *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2326 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snscanf(char const *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options()), _Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2349 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snscanf_s_l(char const *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2374 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snscanf_s(char const *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2397 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(pop) __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_tempnam" ". See online help for details.")) char *__cdecl tempnam(char const *_Directory, char const *_FilePrefix);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fcloseall" ". See online help for details.")) int __cdecl fcloseall(void);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fdopen" ". See online help for details.")) FILE *__cdecl fdopen(int _FileHandle, char const *_Format);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fgetchar" ". See online help for details.")) int __cdecl fgetchar(void);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fileno" ". See online help for details.")) int __cdecl fileno(FILE *_Stream);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_flushall" ". See online help for details.")) int __cdecl flushall(void);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fputchar" ". See online help for details.")) int __cdecl fputchar(int _Ch);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_getw" ". See online help for details.")) int __cdecl getw(FILE *_Stream);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_putw" ". See online help for details.")) int __cdecl putw(int _Ch, FILE *_Stream);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_rmtmp" ". See online help for details.")) int __cdecl rmtmp(void);#line 2441 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h"__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma once#pragma once#pragma once#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) int *__cdecl _errno(void);errno_t __cdecl _set_errno(int _Value);errno_t __cdecl _get_errno(int *_Value);unsigned long *__cdecl __doserrno(void);errno_t __cdecl _set_doserrno(unsigned long _Value);errno_t __cdecl _get_doserrno(unsigned long *_Value);__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4514 4820) __pragma(pack(push, 8)) void *__cdecl memchr(void const *_Buf, int _Val, size_t _MaxCount);int __cdecl memcmp(void const *_Buf1, void const *_Buf2, size_t _Size);void *__cdecl memcpy(void *_Dst, void const *_Src, size_t _Size);void *__cdecl memmove(void *_Dst, void const *_Src, size_t _Size);void *__cdecl memset(void *_Dst, int _Val, size_t _Size);char *__cdecl strchr(char const *_Str, int _Val);char *__cdecl strrchr(char const *_Str, int _Ch);char *__cdecl strstr(char const *_Str, char const *_SubStr);wchar_t *__cdecl wcschr(wchar_t const *_Str, wchar_t _Ch);wchar_t *__cdecl wcsrchr(wchar_t const *_Str, wchar_t _Ch);wchar_t *__cdecl wcsstr(wchar_t const *_Str, wchar_t const *_SubStr);__pragma(pack(pop))#pragma warning(pop) #pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) static __inline errno_t __cdecl memcpy_s(void *const _Destination, rsize_t const _DestinationSize, void const *const _Source, rsize_t const _SourceSize) { if(_SourceSize==0) { return 0;} { int _Expr_val=!!(_Destination !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;if(_Source==((void *) 0)||_DestinationSize< _SourceSize) { memset(_Destination, 0, _DestinationSize);{ int _Expr_val=!!(_Source !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;{ int _Expr_val=!!(_DestinationSize >=_SourceSize);if(!(_Expr_val)) {(*_errno())=34;_invalid_parameter_noinfo();return 34;} } ;return 22 ;} memcpy(_Destination, _Source, _SourceSize);return 0;} static __inline errno_t __cdecl memmove_s(void *const _Destination, rsize_t const _DestinationSize, void const *const _Source, rsize_t const _SourceSize) { if(_SourceSize==0) { return 0;} { int _Expr_val=!!(_Destination !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;{ int _Expr_val=!!(_Source !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;{ int _Expr_val=!!(_DestinationSize >=_SourceSize);if(!(_Expr_val)) {(*_errno())=34;_invalid_parameter_noinfo();return 34;} } ;memmove(_Destination, _Source, _SourceSize);return 0;}#pragma warning(pop) __pragma(pack(pop))#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) int __cdecl _memicmp(void const *_Buf1, void const *_Buf2, size_t _Size);int __cdecl _memicmp_l(void const *_Buf1, void const *_Buf2, size_t _Size, _locale_t _Locale);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memccpy" ". See online help for details.")) void *__cdecl memccpy(void *_Dst, void const *_Src, int _Val, size_t _Size);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memicmp" ". See online help for details.")) int __cdecl memicmp(void const *_Buf1, void const *_Buf2, size_t _Size);__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) errno_t __cdecl wcscat_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source);errno_t __cdecl wcscpy_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source);errno_t __cdecl wcsncat_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source, rsize_t _MaxCount);errno_t __cdecl wcsncpy_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source, rsize_t _MaxCount);wchar_t *__cdecl wcstok_s(wchar_t *_String, wchar_t const *_Delimiter, wchar_t **_Context);__declspec(allocator) wchar_t *__cdecl _wcsdup(wchar_t const *_String);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcscat(wchar_t *_Destination, wchar_t const *_Source);int __cdecl wcscmp(wchar_t const *_String1, wchar_t const *_String2);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcscpy(wchar_t *_Destination, wchar_t const *_Source);size_t __cdecl wcscspn(wchar_t const *_String, wchar_t const *_Control);size_t __cdecl wcslen(wchar_t const *_String);size_t __cdecl wcsnlen(wchar_t const *_Source, size_t _MaxCount);static __inline size_t __cdecl wcsnlen_s(wchar_t const *_Source, size_t _MaxCount) { return(_Source==0) ? 0 :wcsnlen(_Source, _MaxCount);}__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcsncat(wchar_t *_Destination, wchar_t const *_Source, size_t _Count);int __cdecl wcsncmp(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcsncpy(wchar_t *_Destination, wchar_t const *_Source, size_t _Count);wchar_t *__cdecl wcspbrk(wchar_t const *_String, wchar_t const *_Control);size_t __cdecl wcsspn(wchar_t const *_String, wchar_t const *_Control);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcstok(wchar_t *_String, wchar_t const *_Delimiter, wchar_t **_Context);#line 237 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstring.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) static __inline wchar_t *__cdecl _wcstok(wchar_t *const _String, wchar_t const *const _Delimiter) { return wcstok(_String, _Delimiter, 0);} __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcserror(int _ErrorNumber);errno_t __cdecl _wcserror_s(wchar_t *_Buffer, size_t _SizeInWords, int _ErrorNumber);__declspec(deprecated("This function or variable may be unsafe. Consider using " "__wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl __wcserror(wchar_t const *_String);errno_t __cdecl __wcserror_s(wchar_t *_Buffer, size_t _SizeInWords, wchar_t const *_ErrorMessage);int __cdecl _wcsicmp(wchar_t const *_String1, wchar_t const *_String2);int __cdecl _wcsicmp_l(wchar_t const *_String1, wchar_t const *_String2, _locale_t _Locale);int __cdecl _wcsnicmp(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);int __cdecl _wcsnicmp_l(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount, _locale_t _Locale);errno_t __cdecl _wcsnset_s(wchar_t *_Destination, size_t _SizeInWords, wchar_t _Value, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsnset(wchar_t *_String, wchar_t _Value, size_t _MaxCount);wchar_t *__cdecl _wcsrev(wchar_t *_String);errno_t __cdecl _wcsset_s(wchar_t *_Destination, size_t _SizeInWords, wchar_t _Value);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsset(wchar_t *_String, wchar_t _Value);errno_t __cdecl _wcslwr_s(wchar_t *_String, size_t _SizeInWords);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcslwr(wchar_t *_String);errno_t __cdecl _wcslwr_s_l(wchar_t *_String, size_t _SizeInWords, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcslwr_l(wchar_t *_String, _locale_t _Locale);errno_t __cdecl _wcsupr_s(wchar_t *_String, size_t _Size);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsupr(wchar_t *_String);errno_t __cdecl _wcsupr_s_l(wchar_t *_String, size_t _Size, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsupr_l(wchar_t *_String, _locale_t _Locale);size_t __cdecl wcsxfrm(wchar_t *_Destination, wchar_t const *_Source, size_t _MaxCount);size_t __cdecl _wcsxfrm_l(wchar_t *_Destination, wchar_t const *_Source, size_t _MaxCount, _locale_t _Locale);int __cdecl wcscoll(wchar_t const *_String1, wchar_t const *_String2);int __cdecl _wcscoll_l(wchar_t const *_String1, wchar_t const *_String2, _locale_t _Locale);int __cdecl _wcsicoll(wchar_t const *_String1, wchar_t const *_String2);int __cdecl _wcsicoll_l(wchar_t const *_String1, wchar_t const *_String2, _locale_t _Locale);int __cdecl _wcsncoll(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);int __cdecl _wcsncoll_l(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount, _locale_t _Locale);int __cdecl _wcsnicoll(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);int __cdecl _wcsnicoll_l(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount, _locale_t _Locale);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsdup" ". See online help for details.")) wchar_t *__cdecl wcsdup(wchar_t const *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicmp" ". See online help for details.")) int __cdecl wcsicmp(wchar_t const *_String1, wchar_t const *_String2);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnicmp" ". See online help for details.")) int __cdecl wcsnicmp(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnset" ". See online help for details.")) wchar_t *__cdecl wcsnset(wchar_t *_String, wchar_t _Value, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsrev" ". See online help for details.")) wchar_t *__cdecl wcsrev(wchar_t *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsset" ". See online help for details.")) wchar_t *__cdecl wcsset(wchar_t *_String, wchar_t _Value);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcslwr" ". See online help for details.")) wchar_t *__cdecl wcslwr(wchar_t *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsupr" ". See online help for details.")) wchar_t *__cdecl wcsupr(wchar_t *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicoll" ". See online help for details.")) int __cdecl wcsicoll(wchar_t const *_String1, wchar_t const *_String2);__pragma(pack(pop))#pragma warning(pop) #pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) errno_t __cdecl strcpy_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source);errno_t __cdecl strcat_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source);errno_t __cdecl strerror_s(char *_Buffer, size_t _SizeInBytes, int _ErrorNumber);errno_t __cdecl strncat_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source, rsize_t _MaxCount);errno_t __cdecl strncpy_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source, rsize_t _MaxCount);char *__cdecl strtok_s(char *_String, char const *_Delimiter, char **_Context);void *__cdecl _memccpy(void *_Dst, void const *_Src, int _Val, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strcat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strcat(char *_Destination, char const *_Source);int __cdecl strcmp(char const *_Str1, char const *_Str2);int __cdecl _strcmpi(char const *_String1, char const *_String2);int __cdecl strcoll(char const *_String1, char const *_String2);int __cdecl _strcoll_l(char const *_String1, char const *_String2, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strcpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strcpy(char *_Destination, char const *_Source);size_t __cdecl strcspn(char const *_Str, char const *_Control);__declspec(allocator) char *__cdecl _strdup(char const *_Source);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strerror(char const *_ErrorMessage);errno_t __cdecl _strerror_s(char *_Buffer, size_t _SizeInBytes, char const *_ErrorMessage);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strerror(int _ErrorMessage);int __cdecl _stricmp(char const *_String1, char const *_String2);int __cdecl _stricoll(char const *_String1, char const *_String2);int __cdecl _stricoll_l(char const *_String1, char const *_String2, _locale_t _Locale);int __cdecl _stricmp_l(char const *_String1, char const *_String2, _locale_t _Locale);size_t __cdecl strlen(char const *_Str);errno_t __cdecl _strlwr_s(char *_String, size_t _Size);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strlwr(char *_String);errno_t __cdecl _strlwr_s_l(char *_String, size_t _Size, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strlwr_l(char *_String, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strncat(char *_Destination, char const *_Source, size_t _Count);int __cdecl strncmp(char const *_Str1, char const *_Str2, size_t _MaxCount);int __cdecl _strnicmp(char const *_String1, char const *_String2, size_t _MaxCount);int __cdecl _strnicmp_l(char const *_String1, char const *_String2, size_t _MaxCount, _locale_t _Locale);int __cdecl _strnicoll(char const *_String1, char const *_String2, size_t _MaxCount);int __cdecl _strnicoll_l(char const *_String1, char const *_String2, size_t _MaxCount, _locale_t _Locale);int __cdecl _strncoll(char const *_String1, char const *_String2, size_t _MaxCount);int __cdecl _strncoll_l(char const *_String1, char const *_String2, size_t _MaxCount, _locale_t _Locale);size_t __cdecl __strncnt(char const *_String, size_t _Count);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strncpy(char *_Destination, char const *_Source, size_t _Count);size_t __cdecl strnlen(char const *_String, size_t _MaxCount);static __inline size_t __cdecl strnlen_s(char const *_String, size_t _MaxCount) { return _String==0 ? 0 :strnlen(_String, _MaxCount);} errno_t __cdecl _strnset_s(char *_String, size_t _SizeInBytes, int _Value, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strnset(char *_Destination, int _Value, size_t _Count);char *__cdecl strpbrk(char const *_Str, char const *_Control);char *__cdecl _strrev(char *_Str);errno_t __cdecl _strset_s(char *_Destination, size_t _DestinationSize, int _Value);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strset(char *_Destination, int _Value);size_t __cdecl strspn(char const *_Str, char const *_Control);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strtok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strtok(char *_String, char const *_Delimiter);errno_t __cdecl _strupr_s(char *_String, size_t _Size);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strupr(char *_String);errno_t __cdecl _strupr_s_l(char *_String, size_t _Size, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strupr_l(char *_String, _locale_t _Locale);size_t __cdecl strxfrm(char *_Destination, char const *_Source, size_t _MaxCount);size_t __cdecl _strxfrm_l(char *_Destination, char const *_Source, size_t _MaxCount, _locale_t _Locale);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strdup" ". See online help for details.")) char *__cdecl strdup(char const *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strcmpi" ". See online help for details.")) int __cdecl strcmpi(char const *_String1, char const *_String2);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_stricmp" ". See online help for details.")) int __cdecl stricmp(char const *_String1, char const *_String2);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strlwr" ". See online help for details.")) char *__cdecl strlwr(char *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnicmp" ". See online help for details.")) int __cdecl strnicmp(char const *_String1, char const *_String2, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnset" ". See online help for details.")) char *__cdecl strnset(char *_String, int _Value, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strrev" ". See online help for details.")) char *__cdecl strrev(char *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strset" ". See online help for details.")) char *__cdecl strset(char *_String, int _Value);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strupr" ". See online help for details.")) char *__cdecl strupr(char *_String);__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4514 4820) __pragma(pack(push, 8)) __pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) typedef unsigned short _ino_t;typedef _ino_t ino_t;#line 24 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\sys/types.h" typedef unsigned int _dev_t;typedef _dev_t dev_t;#line 36 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\sys/types.h" typedef long _off_t;typedef _off_t off_t;#line 48 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\sys/types.h"#pragma warning(pop) typedef char *sds;#pragma pack(push, 1) struct sdshdr5 { unsigned char flags;char buf[];};struct sdshdr8 { uint8_t len;uint8_t alloc;unsigned char flags;char buf[];};struct sdshdr16 { uint16_t len;uint16_t alloc;unsigned char flags;char buf[];};struct sdshdr32 { uint32_t len;uint32_t alloc;unsigned char flags;char buf[];};struct sdshdr64 { uint64_t len;uint64_t alloc;unsigned char flags;char buf[];};#pragma pack(pop) static inline size_t sdslen(const sds s) { unsigned char flags=s[-1];switch(flags &7) { case 0 :return((flags) >> 3) ;case 1 :return((struct sdshdr8 *)((s) -(sizeof(struct sdshdr8)))) ->len;case 2 :return((struct sdshdr16 *)((s) -(sizeof(struct sdshdr16)))) ->len;case 3 :return((struct sdshdr32 *)((s) -(sizeof(struct sdshdr32)))) ->len;case 4 :return((struct sdshdr64 *)((s) -(sizeof(struct sdshdr64)))) ->len;} return 0;}static inline size_t sdsavail(const sds s) { unsigned char flags=s[-1];switch(flags &7) { case 0 :{ return 0;} case 1 :{ struct sdshdr8 *sh=(void *)((s) -(sizeof(struct sdshdr8)));;return sh->alloc - sh->len;} case 2 :{ struct sdshdr16 *sh=(void *)((s) -(sizeof(struct sdshdr16)));;return sh->alloc - sh->len;} case 3 :{ struct sdshdr32 *sh=(void *)((s) -(sizeof(struct sdshdr32)));;return sh->alloc - sh->len;} case 4 :{ struct sdshdr64 *sh=(void *)((s) -(sizeof(struct sdshdr64)));;return sh->alloc - sh->len;} } return 0;}static inline void sdssetlen(sds s, size_t newlen) { unsigned char flags=s[-1];switch(flags &7) { case 0 :{ unsigned char *fp=((unsigned char *) s) - 1;*fp=0|(newlen<< 3);} break;case 1 :((struct sdshdr8 *)((s) -(sizeof(struct sdshdr8)))) ->len=(uint8_t) newlen;break;case 2 :((struct sdshdr16 *)((s) -(sizeof(struct sdshdr16)))) ->len=(uint16_t) newlen;break;case 3 :((struct sdshdr32 *)((s) -(sizeof(struct sdshdr32)))) -> len
Definition: CPAL.d:15583
bool printCommands
Definition: pdftohtml.cc:79
#define WINAPI
int mapUTF8(Unicode u, char *buf, int bufSize)
Definition: UTF8.cc:12
#define strdup
Definition: Utility.h:167
long * italic
Definition: afm2tfm.c:1034
#define match
Definition: aptex-macros.h:359
#define width(a)
Definition: aptex-macros.h:198
#define type(a)
Definition: aptex-macros.h:171
#define slant(f)
Definition: CMap.h:98
CMap * getCMap(GString *collection, GString *cMapName)
Definition: CMap.cc:409
Definition: CMap.h:33
void add(CharCodeToUnicode *ctu)
CharCodeToUnicode * getCharCodeToUnicode(GString *tag)
static CharCodeToUnicode * parseCIDToUnicode(GString *fileName, GString *collection)
Definition: gdir.h:47
Definition: gdir.h:66
GHashBucket * find(GString *key, int *h)
Definition: GHash.cc:340
GString * copy()
Definition: GString.h:42
@ W800
Definition: GfxFont.h:178
@ W300
Definition: GfxFont.h:173
@ W400
Definition: GfxFont.h:174
@ W100
Definition: GfxFont.h:171
@ W600
Definition: GfxFont.h:176
@ W200
Definition: GfxFont.h:172
@ W500
Definition: GfxFont.h:175
@ W700
Definition: GfxFont.h:177
@ W900
Definition: GfxFont.h:179
@ SemiExpanded
Definition: GfxFont.h:162
@ ExtraExpanded
Definition: GfxFont.h:164
@ Condensed
Definition: GfxFont.h:159
@ UltraCondensed
Definition: GfxFont.h:157
@ SemiCondensed
Definition: GfxFont.h:160
@ UltraExpanded
Definition: GfxFont.h:165
@ Normal
Definition: GfxFont.h:161
@ Expanded
Definition: GfxFont.h:163
@ ExtraCondensed
Definition: GfxFont.h:158
static std::string customDataDir
Definition: GlobalParams.h:219
GlobalParamsIniter(ErrorCallback errorCallback)
static bool setCustomDataDir(const std::string &dir)
static std::mutex mutex
Definition: GlobalParams.h:216
NameToCharCode * macRomanReverseMap
Definition: GlobalParams.h:461
GBool parseYesNo2(char *token, GBool *flag)
NameToCharCode * nameToUnicodeZapfDingbats
Definition: GlobalParams.h:158
GBool printCommands
Definition: GlobalParams.h:593
GHash * unicodeMaps
Definition: GlobalParams.h:480
FILE * findCMapFile(GString *collection, GString *cMapName)
FILE * findToUnicodeFile(GString *name)
GBool getErrQuiet()
GHash * cMapDirs
Definition: GlobalParams.h:482
void setErrQuiet(GBool errQuietA)
GHash * cidToUnicodes
Definition: GlobalParams.h:473
GlobalParams(const char *cfgFileName=NULL)
GBool getPrintCommands()
GString * findFontFile(GString *fontName)
CMapCache * cMapCache
Definition: GlobalParams.h:600
void addCMapDir(const GooString *collection, const GooString *dir)
GBool psShrinkLarger
Definition: GlobalParams.h:504
GList * toUnicodeDirs
Definition: GlobalParams.h:484
CMap * getCMap(GString *collection, GString *cMapName)
const UnicodeMap * getUtf8Map()
void setTextEncoding(const char *encodingName)
Unicode mapNameToUnicodeText(const char *charName)
CharCodeToUnicode * getCIDToUnicode(GString *collection)
void addCIDToUnicode(const GooString *collection, const GooString *fileName)
GHash * fontFiles
Definition: GlobalParams.h:487
UnicodeMap * getResidentUnicodeMap(GString *encodingName)
GBool overprintPreview
Definition: GlobalParams.h:575
GString * findBase14FontFile(GString *fontName, int *fontNum, double *oblique)
CharCode getMacRomanCharCode(char *charName)
void setPSShrinkLarger(GBool shrink)
CharCodeToUnicodeCache * unicodeToUnicodeCache
Definition: GlobalParams.h:598
void scanEncodingDirs()
FILE * getUnicodeMapFile(GString *encodingName)
GBool getPSShrinkLarger()
void setPSExpandSmaller(GBool expand)
void addUnicodeMap(const GooString *encodingName, const GooString *fileName)
GHash * residentUnicodeMaps
Definition: GlobalParams.h:478
bool getProfileCommands()
Unicode mapNameToUnicodeAll(const char *charName)
UnicodeMapCache * unicodeMapCache
Definition: GlobalParams.h:599
std::vector< GooString * > * getEncodingNames()
void addFontFile(GString *fontName, GString *path)
void setupBaseFonts(const char *dir)
const char * popplerDataDir
Definition: GlobalParams.h:201
UnicodeMap * getTextEncoding()
NameToCharCode * nameToUnicodeText
Definition: GlobalParams.h:160
const UnicodeMap * utf8Map
Definition: GlobalParams.h:195
void parseNameToUnicode(GList *tokens, GString *fileName, int line)
void setPrintCommands(GBool printCommandsA)
GString * textEncoding
Definition: GlobalParams.h:537
GString * findSystemFontFile(GString *fontName, SysFontType *type, int *fontNum)
GBool getPSExpandSmaller()
CharCodeToUnicodeCache * cidToUnicodeCache
Definition: GlobalParams.h:597
bool profileCommands
Definition: GlobalParams.h:187
void setOverprintPreview(GBool preview)
void setProfileCommands(bool profileCommandsA)
UnicodeMap * getUnicodeMap(GString *encodingName)
SysFontList * sysFonts
Definition: GlobalParams.h:494
GBool psExpandSmaller
Definition: GlobalParams.h:503
GString * getTextEncodingName()
char getChar(int i) const
Definition: GooString.h:148
GooString * del(int i, int n=1)
Definition: GooString.h:214
const std::string & toStr() const
Definition: GooString.h:72
GooString * copy() const
Definition: GooString.h:101
GooString * Set(const GooString *newStr)
Definition: GooString.h:83
int getLength() const
Definition: GooString.h:142
GooString * append(char c)
Definition: GooString.h:161
void add(const char *name, CharCode c)
CharCode lookup(const char *name)
GString * name
GooString * path
GString * path
GooString * name
GooString * substituteName
SysFontInfo(const SysFontInfo &)=delete
SysFontInfo(GString *nameA, GString *pathA, SysFontType typeA, int fontNumA)
int match(GString *nameA)
SysFontType type
SysFontInfo & operator=(const SysFontInfo &)=delete
SysFontList(const SysFontList &)=delete
std::vector< SysFontInfo * > * fonts
GList * fonts
SysFontInfo * find(GString *name)
SysFontList & operator=(const SysFontList &)=delete
UnicodeMap * getUnicodeMap(GString *encodingName)
Definition: UnicodeMap.cc:250
#define n
Definition: t4ht.c:1290
BOOL
Definition: dd.h:100
@ TRUE
Definition: dd.h:102
#define free(a)
Definition: decNumber.cpp:310
#define strrchr
Definition: detex.c:67
int strcmp()
Definition: coll.cpp:143
int sscanf()
#define error(a)
Definition: dviinfo.c:48
#define MAX_PATH
Definition: dvispc.c:163
long int flag
Definition: f2c.h:53
#define FcPatternGetInteger
Definition: fcalias.h:334
#define FcPatternGetString
Definition: fcalias.h:338
#define FcLangSetCreate
Definition: fcalias.h:184
#define FcDefaultSubstitute
Definition: fcalias.h:134
#define FcPatternBuild
Definition: fcalias.h:352
#define FcLangSetDestroy
Definition: fcalias.h:186
#define FcLangSetAdd
Definition: fcalias.h:190
#define FcPatternAddInteger
Definition: fcalias.h:318
#define FcFontSort
Definition: fcalias.h:248
#define FcConfigSubstitute
Definition: fcalias.h:76
#define FcPatternDestroy
Definition: fcalias.h:296
#define FcFontSetDestroy
Definition: fcalias.h:160
#define FcPatternGetLangSet
Definition: fcalias.h:346
#define FcLangSetContains
Definition: fcalias.h:198
const FcChar8 lang[6]
Definition: fcfreetype.c:56
struct move_struct move
#define FC_LANG
Definition: fontconfig.h:111
#define FC_WIDTH_SEMIEXPANDED
Definition: fontconfig.h:171
#define FC_WEIGHT_MEDIUM
Definition: fontconfig.h:151
unsigned char FcChar8
Definition: fontconfig.h:43
#define FC_SLANT_ITALIC
Definition: fontconfig.h:163
#define FC_WIDTH_EXTRACONDENSED
Definition: fontconfig.h:167
#define FC_FAMILY
Definition: fontconfig.h:79
#define FC_FILE
Definition: fontconfig.h:96
#define FcFalse
Definition: fontconfig.h:75
#define FC_WEIGHT
Definition: fontconfig.h:82
#define FC_SLANT
Definition: fontconfig.h:81
#define FC_WIDTH_ULTRAEXPANDED
Definition: fontconfig.h:174
#define FC_MONO
Definition: fontconfig.h:178
@ FcTypeString
Definition: fontconfig.h:206
@ FcMatchPattern
Definition: fontconfig.h:290
#define FC_WEIGHT_NORMAL
Definition: fontconfig.h:150
enum _FcResult FcResult
#define FC_INDEX
Definition: fontconfig.h:97
#define FC_WIDTH_EXTRAEXPANDED
Definition: fontconfig.h:173
#define FC_FULLNAME
Definition: fontconfig.h:113
#define FC_SLANT_OBLIQUE
Definition: fontconfig.h:164
#define FC_WIDTH_CONDENSED
Definition: fontconfig.h:168
#define FC_WEIGHT_EXTRALIGHT
Definition: fontconfig.h:143
#define FC_STYLE
Definition: fontconfig.h:80
@ FcResultMatch
Definition: fontconfig.h:241
#define FC_WEIGHT_BLACK
Definition: fontconfig.h:157
#define FC_SPACING
Definition: fontconfig.h:86
#define FC_WIDTH
Definition: fontconfig.h:95
#define FC_WIDTH_EXPANDED
Definition: fontconfig.h:172
#define FC_WEIGHT_BOLD
Definition: fontconfig.h:154
#define FC_WIDTH_ULTRACONDENSED
Definition: fontconfig.h:166
#define FC_WEIGHT_DEMIBOLD
Definition: fontconfig.h:152
#define FC_WIDTH_SEMICONDENSED
Definition: fontconfig.h:169
#define FC_WEIGHT_EXTRABOLD
Definition: fontconfig.h:155
#define FC_WIDTH_NORMAL
Definition: fontconfig.h:170
#define FC_WEIGHT_LIGHT
Definition: fontconfig.h:145
mpz_t * f
Definition: gen-fib.c:34
#define s
Definition: afcover.h:80
#define c(n)
Definition: gpos-common.c:150
#define strchr
Definition: gsftopk.c:59
unsigned short CHAR
Definition: hbf.c:169
string family
static FILE * fin
Definition: hpcdtoppm.c:133
#define NULL
Definition: ftobjs.h:61
small capitals from c petite p scientific f u
Definition: afcover.h:88
small capitals from c petite p
Definition: afcover.h:72
small capitals from c petite p scientific i
Definition: afcover.h:80
Arabic default style
Definition: afstyles.h:94
char * getLine(char *buf, int size, FILE *f)
Definition: gfile.cc:691
FILE * openFile(const char *path, const char *mode)
Definition: gfile.cc:612
GString * appendToPath(GString *path, const char *fileName)
Definition: gfile.cc:114
unsigned int CharCode
Definition: CharTypes.h:22
void setErrorCallback(void(*cbk)(void *data, ErrorCategory category, int pos, char *msg), void *data)
Definition: Error.cc:38
@ errUnimplemented
Definition: Error.h:32
@ errIO
Definition: Error.h:30
@ errConfig
Definition: Error.h:27
const char * macRomanEncoding[256]
const char * ttFileName
Definition: GlobalParams.cc:88
const char * t1FileName
Definition: GlobalParams.cc:87
static const char * displayFontDirs[]
const char * name
Definition: GlobalParams.cc:86
static struct @73 displayFontTab[]
GlobalParams * globalParams
SysFontType
Definition: GlobalParams.h:54
@ sysFontTTC
Definition: GlobalParams.h:58
@ sysFontPFB
Definition: GlobalParams.h:56
@ sysFontPFA
Definition: GlobalParams.h:55
@ sysFontTTF
Definition: GlobalParams.h:57
#define symbolUnicodeMapLen
#define latin1UnicodeMapLen
static UnicodeMapRange symbolUnicodeMapRanges[]
static UnicodeMapRange ascii7UnicodeMapRanges[]
static UnicodeMapRange latin1UnicodeMapRanges[]
#define zapfDingbatsUnicodeMapLen
static UnicodeMapRange zapfDingbatsUnicodeMapRanges[]
#define ascii7UnicodeMapLen
static GBool expand
Definition: pdftops.cc:59
static const char *const modifiers[]
Definition: agl.c:122
#define buf
pdf_obj * entry
Definition: pdfdoc.c:64
#define strcasecmp
Definition: c-auto.h:150
char * strstr()
#define fclose
Definition: debug.h:100
#define stricmp
Definition: win32lib.h:93
#define strncasecmp
Definition: win32lib.h:115
#define string
Definition: ctangleboot.c:111
#define snprintf
Definition: snprintf.c:41
int getLength(char *s)
Definition: lengths.c:99
unsigned int DWORD
Definition: mktexlib.h:49
char shrink
Definition: nup.c:69
#define res(length)
Definition: picttoppm.c:287
char * strtok_r(char *s, const char *delim, char **save_ptr)
int mapUTF16(Unicode u, char *buf, int bufSize)
int spacing
Definition: process_score.c:12
char line[1024]
Definition: process_score.c:29
#define dir
#define map
void(*)(ErrorCategory category, Goffset pos, const char *msg) ErrorCallback
Definition: Error.h:52
#define cidToUnicodeCacheSize
Definition: GlobalParams.cc:94
#define FC_WEIGHT_BOOK
Definition: GlobalParams.cc:85
#define unicodeToUnicodeCacheSize
Definition: GlobalParams.cc:95
#define globalParamsLocker()
#define unicodeMapCacheLocker()
#define cMapCacheLocker()
static const struct NameToUnicodeTab nameToUnicodeZapfDingbatsTab[]
static const struct NameToUnicodeTab nameToUnicodeTextTab[]
static bool errQuiet
Definition: pdftohtml.cc:92
static char tok1[]
Definition: parser.c:65
static char tok2[][3]
Definition: parser.c:59
static UMutex lock
Definition: serv.cpp:336
FcPattern ** fonts
Definition: fontconfig.h:280
Definition: filedef.h:30
Definition: pbmfont.h:11
Definition: bdf.c:133
Definition: tpic.c:45
Definition: sh2.c:920
Definition: parser.c:43
pointer path
Definition: t1imager.h:36
#define FILE
Definition: t1stdio.h:34
int j
Definition: t4ht.c:1589
char * s2
Definition: t4ht.c:1062
char * ext
Definition: t4ht.c:938
*job_name strlen((char *) job_name) - 4)
char * file
Definition: t4ht.c:931
@ sfi
Definition: texnodes.h:1106
const char * fileName
Definition: ugrep.cpp:52
@ start
Definition: preamble.c:52
#define strndup(s, len)
Definition: y.tab.c:270