]> granicus.if.org Git - graphviz/commitdiff
Revert "Move two checks from features/sfio into the code"
authorStephen C North <scnorth@gmail.com>
Wed, 28 Aug 2019 19:02:02 +0000 (15:02 -0400)
committerStephen C North <scnorth@gmail.com>
Wed, 28 Aug 2019 19:02:02 +0000 (15:02 -0400)
This reverts commit 2ba97c0ed14163aa41c74bcf0dd72822b13ac7c5.

This change broke gvpr, as demonstrated by the following gvpr script:
N [ color=="blue"] {color="red";}
N [ color=="blue"] {color="red";}
I don't know if the mods were more substantive than just cleanup
as they were related to other win64 work at the same time.

lib/sfio/features/sfio
lib/sfio/sfvprintf.c
lib/sfio/sfvscanf.c

index 6bc55d4949ac7f3614ad15b88bbc396a3b9c13ca..56abfaee4193ddec22a884968e74884228fd8b2d 100644 (file)
@@ -37,6 +37,18 @@ tmp rmfail note{ file not removable if still opened }end execute{
        }
 }end
 
+more void_int note{ voidptr is larger than int }end execute{
+       main() {
+       return sizeof(char*) > sizeof(int) ? 0 : 1;
+       }
+}end
+
+more long_int note{ long is larger than int }end execute{
+       main() {
+       return sizeof(long) > sizeof(int) ? 0 : 1;
+       }
+}end
+
 ################################################################
 # See if there is a preferred block size for a file system
 ################################################################
index b4ed73d704607362d4b619d12ba5dab8c8e071ff..cbfd23a77c3c4379984a585f1bfb96c17ce7437c 100644 (file)
@@ -576,14 +576,13 @@ int sfvprintf(Sfio_t * f, const char *form, va_list args)
            flags =
                (flags & ~(SFFMT_SIGN | SFFMT_BLANK | SFFMT_ZERO)) |
                SFFMT_ALTER;
-               if (sizeof(char*) > sizeof(int)) {
-                       lv = (Sflong_t) ((Sfulong_t) argv.vp);
-                       goto long_cvt;
-               } else {
-                       v = (int) ((uint) argv.vp);
-                       goto int_cvt;
-               }
-
+#if _more_void_int
+           lv = (Sflong_t) ((Sfulong_t) argv.vp);
+           goto long_cvt;
+#else
+           v = (int) ((uint) argv.vp);
+           goto int_cvt;
+#endif
        case 'o':
            base = 8;
            n_s = 7;
@@ -618,7 +617,7 @@ int sfvprintf(Sfio_t * f, const char *form, va_list args)
                n_s = base == 10 ? -1 : 0;
 
          int_arg:
-         if ((sizeof(long) > sizeof(int)) || (sizeof(char*) > sizeof(int))) {
+#if _more_long_int || _more_void_int
            if (FMTCMP(size, Sflong_t, Sflong_t)) {
                lv = argv.ll;
                goto long_cvt;
@@ -651,8 +650,9 @@ int sfvprintf(Sfio_t * f, const char *form, va_list args)
                        *--sp = ssp[((Sfulong_t) lv) % base];
                    } while ((lv = ((Sfulong_t) lv) / base));
                }
-           }
-         } else if (sizeof(short) < sizeof(int)
+           } else
+#endif
+           if (sizeof(short) < sizeof(int)
                    && FMTCMP(size, short, Sflong_t)) {
                if (ft && ft->extf && (ft->flags & SFFMT_VALUE)) {
                    if (fmt == 'd')
index a573857ab0a6912d785af51488f61fae1505d2a5..b4a59c44fa1d9cae8b703e236f838ecad4fd8f5a 100644 (file)
@@ -650,14 +650,12 @@ int sfvscanf(Sfio_t * f, reg const char *form, va_list args)
            if (value) {
                n_assign += 1;
 
-               if (fmt == 'p') {
-                       if (sizeof(char*) > sizeof(int)){
-                               *((void **) value) = (void *) ((ulong) argv.lu);
-                       }
-                       else {
-                               *((void **) value) = (void *) ((uint) argv.lu);
-                       }
-               }
+               if (fmt == 'p')
+#if _more_void_int
+                   *((void **) value) = (void *) ((ulong) argv.lu);
+#else
+                   *((void **) value) = (void *) ((uint) argv.lu);
+#endif
                else if (sizeof(long) > sizeof(int) &&
                         FMTCMP(size, long, Sflong_t)) {
                    if (fmt == 'd' || fmt == 'i')