diff options
author | Jonathan Kew <jfkthame@googlemail.com> | 2008-06-03 11:57:25 +0000 |
---|---|---|
committer | Jonathan Kew <jfkthame@googlemail.com> | 2008-06-03 11:57:25 +0000 |
commit | c8bef80b5b52f1ab4733c7e5ea2095ca1692fb84 (patch) | |
tree | dcf59a2a386877cb8359348886036285ddc80966 | |
parent | 294fe331a768b101f3b0b3d7f91171ab8900152d (diff) |
avoid fabsf, fmaxf in synctex code for portability
git-svn-id: svn://tug.org/texlive/trunk@8516 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/texk/web2c/c-auto.in | 3 | ||||
-rwxr-xr-x | Build/source/texk/web2c/configure | 3 | ||||
-rw-r--r-- | Build/source/texk/web2c/configure.in | 2 | ||||
-rw-r--r-- | Build/source/texk/web2c/synctex/synctex_main.c | 13 | ||||
-rw-r--r-- | Build/source/texk/web2c/synctex/synctex_parser.c | 6 |
5 files changed, 19 insertions, 8 deletions
diff --git a/Build/source/texk/web2c/c-auto.in b/Build/source/texk/web2c/c-auto.in index 3813e384d16..367ac190934 100644 --- a/Build/source/texk/web2c/c-auto.in +++ b/Build/source/texk/web2c/c-auto.in @@ -40,6 +40,9 @@ /* Define if you have Carbon */ #undef HAVE_CARBON +/* Define to 1 if you have the `fmax' function. */ +#undef HAVE_FMAX + /* Define to 1 if you have the <ft2build.h> header file. */ #undef HAVE_FT2BUILD_H diff --git a/Build/source/texk/web2c/configure b/Build/source/texk/web2c/configure index c1685cd3016..3844d907ef7 100755 --- a/Build/source/texk/web2c/configure +++ b/Build/source/texk/web2c/configure @@ -4231,7 +4231,8 @@ done -for ac_func in strerror gettimeofday ftime mkstemp mktemp setlocale strlcat strlcpy + +for ac_func in strerror gettimeofday ftime mkstemp mktemp setlocale strlcat strlcpy fmax do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 diff --git a/Build/source/texk/web2c/configure.in b/Build/source/texk/web2c/configure.in index 030dfb3f3ae..0899b6c4c83 100644 --- a/Build/source/texk/web2c/configure.in +++ b/Build/source/texk/web2c/configure.in @@ -41,7 +41,7 @@ case $LEX in esac AC_PROG_RANLIB AC_CHECK_HEADERS(sys/time.h sys/timeb.h locale.h) -AC_CHECK_FUNCS(strerror gettimeofday ftime mkstemp mktemp setlocale strlcat strlcpy) +AC_CHECK_FUNCS(strerror gettimeofday ftime mkstemp mktemp setlocale strlcat strlcpy fmax) AC_TYPE_SIGNAL diff --git a/Build/source/texk/web2c/synctex/synctex_main.c b/Build/source/texk/web2c/synctex/synctex_main.c index c031b2f4bdb..76d1fe8f9d7 100644 --- a/Build/source/texk/web2c/synctex/synctex_main.c +++ b/Build/source/texk/web2c/synctex/synctex_main.c @@ -37,6 +37,8 @@ This file is named "synctex_main.c". This is the command line interface to the synctex_parser.c. */ +# include "web2c/c-auto.h" /* for inline && HAVE_xxx */ + # include <stdlib.h> # include <stdio.h> # include <string.h> @@ -54,6 +56,10 @@ This is the command line interface to the synctex_parser.c. #ifndef HAVE_STRLCPY #define strlcpy(dst, src, size) strcpy((dst), (src)) #endif +#ifndef HAVE_FMAX +#define fmax my_fmax +inline static double my_fmax(double x, double y) { return (x < y) ? y : x; } +#endif #define SYNCTEX_DEBUG 0 @@ -357,7 +363,6 @@ proceed: viewer = where+strlen(KEY);\ continue;\ } - #define SYNCTEX_MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) TEST("&{output}","%s",synctex_scanner_get_output(scanner)); TEST("&{page}", "%i",synctex_node_page(node)-1); TEST("&{page+1}","%i",synctex_node_page(node)); @@ -365,8 +370,8 @@ proceed: TEST("&{y}", "%f",synctex_node_visible_v(node)); TEST("&{h}", "%f",synctex_node_box_visible_h(node)); TEST("&{v}", "%f",synctex_node_box_visible_v(node)+synctex_node_box_visible_depth(node)); - TEST("&{width}", "%f",fabsf(synctex_node_box_visible_width(node))); - TEST("&{height}","%f",SYNCTEX_MAX((synctex_node_box_visible_height(node)+synctex_node_box_visible_depth(node)),1)); + TEST("&{width}", "%f",fabs(synctex_node_box_visible_width(node))); + TEST("&{height}","%f",fmax(synctex_node_box_visible_height(node)+synctex_node_box_visible_depth(node),1)); TEST("&{before}","%s",(before && strlen(before)<SYNCTEX_STR_SIZE?before:"")); TEST("&{offset}","%i",offset); TEST("&{middle}","%s",(middle && strlen(middle)<SYNCTEX_STR_SIZE?middle:"")); @@ -379,7 +384,7 @@ proceed: synctex_help_view("Memory copy problem"); free(buffer); return -1; - }\ + } printf("SyncTeX: Executing\n%s\n",buffer); status = system(buffer); free(buffer); diff --git a/Build/source/texk/web2c/synctex/synctex_parser.c b/Build/source/texk/web2c/synctex/synctex_parser.c index 57717ca7279..187c13d25cb 100644 --- a/Build/source/texk/web2c/synctex/synctex_parser.c +++ b/Build/source/texk/web2c/synctex/synctex_parser.c @@ -33,6 +33,8 @@ authorization from the copyright holder. */ +#include "web2c/c-auto.h" /* for inline && HAVE_xxx */ + #include "stddef.h" #include "stdio.h" #include "stdlib.h" @@ -43,7 +45,7 @@ authorization from the copyright holder. #include "errno.h" #ifdef HAVE_LOCALE_H -#include "locale.h" +#include <locale.h> #endif /* This custom malloc functions initializes to 0 the newly allocated memory. */ @@ -3031,7 +3033,7 @@ we_are_done: do { switch((node->class)->type) { default: - candidate = fabsf(synctex_node_visible_h(node)-h); + candidate = fabs(synctex_node_visible_h(node)-h); if(candidate<best) { best = candidate; best_node = node; |