Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory
transfig
transfig-3.2.9.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File transfig-3.2.9.dif of Package transfig
--- configure | 2 +- fig2dev/dev/genps.c | 34 ++++++++++++++++++++++------------ fig2dev/fig2ps2tex.csh | 2 +- transfig/transfig.c | 2 ++ 4 files changed, 26 insertions(+), 14 deletions(-) --- configure +++ configure 2023-09-15 07:11:23.442594968 +0000 @@ -2340,7 +2340,7 @@ ac_c_conftest_c99_main=' int dynamic_array[ni.number]; dynamic_array[0] = argv[0][0]; dynamic_array[ni.number - 1] = 543; - + free(ia); // work around unused variable warnings ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' || dynamic_array[ni.number - 1] != 543); --- fig2dev/dev/genps.c +++ fig2dev/dev/genps.c 2023-09-15 07:31:46.828409272 +0000 @@ -53,6 +53,7 @@ #include <ctype.h> /* tolower() */ #include <sys/stat.h> /* struct stat */ #include <locale.h> +#include <langinfo.h> #include "fig2dev.h" /* includes bool.h and object.h */ //#include "object.h" /* NUMSHADES, NUMTINTS */ @@ -1363,10 +1364,10 @@ append(const char *restrict infilename, static bool append_find_composite(FILE *restrict out) { - char *libdir, *locale; - char localefile_buf[128]; - char *localefile = localefile_buf; + char *libdir, *locale, *codeset; + char *localefile = NULL; FILE *in; + int ret; libdir = getenv("FIG2DEV_LIBDIR"); #ifdef I18N_DATADIR @@ -1378,18 +1379,28 @@ append_find_composite(FILE *restrict out fputs(COMPOSITE_ERRMSG, stderr); return false; } - if (strlen(libdir) + strlen(locale) + 5 > sizeof localefile_buf && - !(localefile = malloc(strlen(libdir) + strlen(locale) + 5))) { - put_msg(Err_mem); + codeset = nl_langinfo(CODESET); +retry: + ret = asprintf(&localefile, "%s/%s.ps", libdir, locale); + if (ret < 0) { + err_msg("Unable to open postscript prologue file %s"); return false; } - - sprintf(localefile, "%s/%s.ps", libdir, locale); /* get filename like /usr/local/lib/fig2dev/japanese.ps */ if (!(in = fopen(localefile, "rb"))) { - err_msg("Unable to open postscript prologue file %s"); - if (localefile != localefile_buf) + size_t llen = strcspn(locale, ".@"); + if (strlen(locale) != llen) { + free(localefile); + locale[llen] = '\0'; + goto retry; + } + if (codeset && locale != codeset) { free(localefile); + locale = codeset; + goto retry; + } + err_msg("Unable to open postscript prologue file %s"); + free(localefile); return false; } @@ -1443,8 +1454,7 @@ append_find_composite(FILE *restrict out put_msg("The output might be broken."); } - if (localefile != localefile_buf) - free(localefile); + free(localefile); return found; } --- fig2dev/fig2ps2tex.csh +++ fig2dev/fig2ps2tex.csh 2023-09-15 07:11:23.442594968 +0000 @@ -22,7 +22,7 @@ # 2016-07-07 Thomas Loimer # * use here-document, instead of echo # - +set echo_style = bsd set bbox = `grep "^%%BoundingBox:" $1` set xsp = `echo "3k $bbox[4] $bbox[2] - 72 / p" | dc` --- transfig/transfig.c +++ transfig/transfig.c 2023-09-15 07:11:23.442594968 +0000 @@ -26,6 +26,8 @@ #include <stdio.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "transfig.h" extern void sysmv(char *file); /* sys.c */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor