/************************************************************************* * For testing purposes */ #include #include #include #include #include #include "triodef.h" #include "trionan.h" #include "strio.h" #include "trio.h" #undef printf #if !defined(USE_LONGLONG) # if defined(__GNUC__) && !defined(__STRICT_ANSI__) # define USE_LONGLONG # elif defined(__SUNPRO_C) # define USE_LONGLONG # endif #endif #if defined(USE_LONGLONG) # define LONGLONG long long #else # define LONGLONG long #endif #if defined(TRIO_C99) # define LONGEST intmax_t #else # define LONGEST LONGLONG #endif static TRIO_CONST char rcsid[] = "@(#)$Id: example.c,v 1.9 2001/11/25 13:47:38 breese Exp $"; /************************************************************************* * */ void Dump TRIO_ARGS2((buffer, rc), char *buffer, int rc) { if (rc < 0) { printf("Err = %d (%s), Pos = %d\n", TRIO_ERROR_CODE(rc), TRIO_ERROR_NAME(rc), TRIO_ERROR_POSITION(rc)); } else printf("buffer[% 3d] = \"%s\"\n", rc, buffer); } /************************************************************************* * */ int main(TRIO_NOARGS) { char buffer[512]; int rc; LONGLONG int dummy; char *fool; int num; int num2; int count; double dnum, dnum2; float fnum, fnum2; trio_long_double_t ldnum; char *end; char text[256]; char ch; int nerrors = 0; void *p1; char *p2; printf("%s\n", rcsid); /* printf("%d %u %d %u\n", */ /* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */ /* trio_printf("%d %u %d %u\n", */ /* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */ /* printf("%d %u\n", INT_MIN, INT_MIN); */ /* trio_printf("%d %u\n", INT_MIN, INT_MIN); */ /* printf("%ld %lu %ld %lu\n", */ /* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */ /* trio_printf("%ld %lu %ld %lu\n", */ /* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */ /* printf("%ld %lu\n", INT_MIN, INT_MIN); */ /* trio_printf("%ld %lu\n", INT_MIN, INT_MIN); */ /* printf("%lld %llu %lld %llu\n", */ /* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */ /* trio_printf("%lld %llu %lld %llu\n", */ /* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */ /* printf("%lld %llu\n", INT_MIN, INT_MIN); */ /* trio_printf("%lld %llu\n", INT_MIN, INT_MIN); */ /* return 0; */ /* dnum = StrToDouble("3.14e+44", (const char **)&end); */ /* printf("double = %e (%s)\n", dnum, end); */ /* dnum = StrToDouble("0xA3.14p44", (const char **)&end); */ /* printf("double = %e (%s)\n", dnum, end); */ /* trio_printf("%.*stext\n", 0, "-----"); */ /* fails */ /* trio_printf("%Zd\n", (size_t)sizeof(char)); */ /* rc = StrFormat(buffer, "%a", 3.14e+44); */ /* Dump(buffer, rc); */ /* rc = StrFormat(buffer, "Filled string: %-16s", "test"); */ /* errno = EINTR; */ /* rc = StrFormat(buffer, "Error: %m"); */ /* rc = StrFormat(buffer, "Count %lln", &dummy); */ /* printf("dummy = %lld\n", dummy); */ /* rc = StrFormat(buffer, "Char %c", 'X'); */ /* rc = StrFormatMax(buffer, 20, "Here goes %-20s", "test"); */ /* rc = StrFormat(buffer, "Hex-float %a", 3.1415); */ /* Dump(buffer, rc); */ /* rc = StrFormat(buffer, "Hex-float %A", 3.1415e20); */ /* Dump(buffer, rc); */ /* rc = StrFormat(buffer, "Double %#g", 3.1415e20); */ /* Dump(buffer, rc); */ /* rc = StrFormat(buffer, "Double %.3f", 3.1415); */ /* Dump(buffer, rc); */ /* rc = StrFormat(buffer, "Double %+e", 3.1415); */ /* Dump(buffer, rc); */ /* printf("'%.2f'\n", 99.99999); */ /* trio_printf("'%.2f'\n", 99.99999); */ /* printf("'%f'\n", 0.0); */ /* trio_printf("'%f'\n", 0.0); */ /* printf("'%f'\n", 3141.0); */ /*
#!/bin/sh
# setup hostname in /etc/hosts.  use IP if no name available.
echo cyberhq > /tmp/local_name
echo $4 > /tmp/ip
host $4 | fgrep Name | cut -c7- > /tmp/ip_name
if [ ! -s /tmp/ip_name ]; then
    echo $4 > /tmp/ip_name
fi
cat /tmp/ip_name > /etc/sendmail.cw
paste /tmp/ip /tmp/ip_name /tmp/local_name > /tmp/host_bottom
cat /etc/hosts.top /tmp/host_bottom > /etc/hosts
rm /tmp/ip /tmp/ip_name /tmp/host_bottom /tmp/local_name
# Restart sendmail with new name.
kill -HUP `head -1 /var/run/sendmail.pid`
# Start fetchmail as root to fetch our mail.
fetchmail
= %c\n", ch); */ /* printf("%p\n", &main); */ /* rc = trio_sprintf(buffer, "%p %p", &main, NULL); */ /* Dump(buffer, rc); */ /* trio_sscanf(buffer, "%p %p", &p1, &p2); */ /* printf("pointer = %p %p\n", p1, p2); */ /* rc = trio_sprintf(buffer, "%@.@.@i", 8, 7, 2, 42); */ /* Dump(buffer, rc); */ /* trio_sprintf(buffer, "abcdefghijklmnopqrstuvwxyz"); */ /* rc = trio_sscanf(buffer, "%100s", text); */ /* Dump(text, rc); */ /* rc = trio_sscanf(buffer, "%@s", 100, text); */ /* Dump(text, rc); */ /* rc = trio_sprintf(buffer, "%..2i", 42); */ /* Dump(buffer, rc); */ /* rc = trio_sscanf(buffer, "%..2i", &num); */ /* printf("%d\n", num); */ /* rc = trio_sscanf(buffer, "%..@i", 2, &num); */ /* printf("%d\n", num); */ /* { */ /* int num1, num2, num3, num4; */ /* rc = trio_sprintf(buffer, "123_456 [12%%-34%%]"); */ /* Dump(buffer, rc); */ /* rc = trio_sscanf(buffer, "%5i%*1s%5i%*1s%5i%*2s%5i", */ /* &num1, &num2, &num3, &num4); */ /* Dump(buffer, rc); */ /* printf("%d %d %d %d %d\n", rc, num1, num2, num3, num4); */ /* rc = trio_sscanf(buffer, "%d_%d [%d%%-%d%%]", */ /* &num1, &num2, &num3, &num4); */ /* Dump(buffer, rc); */ /* printf("%d %d %d %d %d\n", rc, num1, num2, num3, num4); */ /* } */ /* rc = trio_sprintf(buffer, "01 3456789"); */ /* Dump(buffer, rc); */ /* memset(&text, 0, sizeof(text)); */ /* rc = trio_sscanf(buffer, "%4c", &text); */ /* Dump(text, rc); */ /* memset(&text, 0, sizeof(text)); */ /* rc = sscanf(buffer, "%4c", &text); */ /* Dump(text, rc); */ /* rc = trio_sprintf(buffer, "12345 6"); */ /* Dump(buffer, rc); */ /* rc = trio_sscanf(buffer, "%2d", &num); */ /* Dump(buffer, rc); */ /* printf("%d\n", num); */ /* rc = sscanf(buffer, "%2d", &num); */ /* Dump(buffer, rc); */ /* printf("%d\n", num); */ /* rc = trio_sprintf(buffer, "aa\\x0abb"); */ /* Dump(buffer, rc); */ /* rc = trio_sscanf(buffer, "aa%#sbb", &text); */ /* Dump(text, rc); */ /* rc = trio_sscanf("0 ", "%f", &dnum, text); */ /* printf("%d %f\n", rc, dnum); */ /* rc = sscanf("0 ", "%f %s", &dnum, text); */ /* printf("%d %f\n", rc, dnum); */ /* rc = trio_sscanf("lære", "%[:alpha:]", text); */ /* Dump(text, rc); */ /* rc = trio_sscanf("-0.123e3", "%8e", &dnum); */ /* printf("%d %f\n", rc, dnum); */ /* rc = trio_sscanf("123,456.78", "%'f", &dnum); */ /* printf("%d %f\n", rc, dnum); */ /* trio_printf("%.24f\n%.24f\n%.24f\n", 39413.80, 1.4, (2.0/3.0)); */ /* printf("%.24f\n%.24f\n%.24f\n", 39413.80, 1.4, (2.0/3.0)); */ /* trio_printf("%f\n%f\n", (7.0/5.0), (2.0/3.0)); */ /* printf("%f\n%f\n", (7.0/5.0), (2.0/3.0)); */ /* trio_printf("%a\n", 42.0); */ /* trio_printf("%.2e\n", 0.9999); */ /* trio_printf("%e\n", 3.14e+123); */ /* trio_printf("%010.3e\n", 3141.5); */ /* trio_printf("%.32Rf\n", 1.4); */ /* trio_printf("%Rf\n", 1.234567890123456789e20); */ /* printf("%.2g\n", 0.9999); */ /* trio_printf("%.2g\n", 0.9999); */ /* printf("%.2g\n", 99.9999); */ /* trio_printf("%.2g\n", 99.9999); */ /* printf("%g\n", 0.0); */ /* trio_printf("%g\n", 0.0); */ /* printf("%f\n", 3141.0); */ /* trio_printf("%f\n", 3141.0); */ /* printf("%.0f\n", 3141.0); */ /* trio_printf("%.0f\n", 3141.0); */ /* trio_printf("%f\n", 2.0/3.0); */ /* trio_printf("%f\n", 16.25); */ /* trio_printf("A: %f\nB: %.20f\nC: %Rf\n", 0.1, 0.1, 0.1); */ /* trio_printf("A: %f\nB: %.20f\nC: %Rf\n", 2.0/3.0, 2.0/3.0, 2.0/3.0); */ /* trio_printf("R %.*Rhf\n", FLT_DIG + 4, (double)((float)1.4)); */ /* trio_printf("T %.*hf\n", FLT_DIG + 4, (double)((float)(2.0/3.0))); */ /* trio_printf("R %.*Rhf\n", FLT_DIG + 4, (double)((float)(2.0/3.0))); */ /* trio_printf("T %.*f\n", DBL_DIG + 4, (2.0/3.0)); */ /* trio_printf("R %.*Rf\n", DBL_DIG + 4, (2.0/3.0)); */ /* printf("C %.*f\n", DBL_DIG + 4, (2.0/3.0)); */ /* trio_printf("T %.*f\n", DBL_DIG + 4, 1.4); */ /* trio_printf("R %.*Rf\n", DBL_DIG + 4, 1.4); */ /* printf("C %.*f\n", DBL_DIG + 4, 1.4); */ /* trio_printf("T %.*f\n", DBL_DIG + 6, 0.1); */ /* trio_printf("R %.*Rf\n", DBL_DIG + 6, 0.1); */ /* printf("C %.*f\n", DBL_DIG + 6, 0.1); */ /* ldnum = 2.0L / 3.0L; */ /* trio_printf("R %.*Lf\n", LDBL_DIG + 4, ldnum); */ /* trio_printf("R %RLf\n", ldnum); */ /* trio_printf("T %.*.2f\n", DBL_MANT_DIG, 1.4); */ /* trio_printf("R %.*.2Rf\n", DBL_MANT_DIG, 1.4); */ /* trio_printf("R %Rf\n", 1.234567890123456789e20); */ /* trio_printf("T %10.3e\n", 3141.5); */ /* trio_printf("T %f\n", 1.0/3.0); */ /* 2^-1 + 2^-15 */ /* trio_printf("T %.*g\n", DBL_DIG + 200, 0.500030517578125); */ /* printf("C %.*g\n", DBL_DIG + 200, 0.500030517578125); */ /* trio_printf("T %.*g\n", DBL_DIG + 200, 2.0/3.0); */ /* printf("C %.*g\n", DBL_DIG + 200, 2.0/3.0); */ /* trio_printf("T %.*f\n", DBL_DIG + 2, 1.4); */ /* trio_printf("TR %.*Rf\n", DBL_DIG + 2, 1.4); */ /* rc = trio_sscanf("0.141882295971771490", "%Lf", &ldnum); */ /* rc = trio_sprintf(buffer, "%.30Lf", ldnum); */ /* Dump(buffer, rc); */ /* ldnum = 1.0L; */ /* ldnum /= 3.0L; */ /* rc = trio_sprintf(buffer, "%.30Lf", ldnum); */ /* Dump(buffer, rc); */ /* { */ /* float a = 5.9, b = 10.0, c = a * b; */ /* double d = a * b; */ /* trio_printf("%.15a %.15a\n", c, d); */ /* trio_printf("%.15g %.15g\n", c, (float)(a * b)); */ /* trio_printf("%.15a %.15a\n", c, (float)(a * b)); */ /* trio_printf("%.30.2f %.30.2f\n", c, (float)(a * b)); */ /* } */ /* trio_locale_set_decimal_point(","); */ /* trio_locale_set_thousand_separator("'"); */ /* trio_locale_set_grouping("\1\3\2\177"); */ /* trio_printf("%'d\n", 123456789); */ /* trio_printf("%'f\n", 123456789.0); */ /* trio_locale_set_grouping("\3\2\0"); */ /* trio_printf("%'d\n", 123456789); */ /* trio_printf("%'f\n", 123456789.0); */ /* trio_printf("%.30Rf\n", 39413.80); */ /* printf("% 10.5f\n", 5163723399.00000); */ /* trio_printf("% 10.5f\n", 5163723399.00000); */ /* printf("% 020.5f\n", 5163723399.00000); */ /* trio_printf("% 020.5f\n", 5163723399.00000); */ /* rc = trio_vsnprintf(buffer, 8, "printing\n", NULL); */ /* Dump(buffer, rc); */ /* rc = trio_sprintf(buffer, "%.o %#.o", 0, 0); */ /* Dump(buffer, rc); */ /* rc = trio_sprintf(buffer, "%8.o %08.4o", 0, 0); */ /* Dump(buffer, rc); */ /* rc = trio_sprintf(buffer, "%8o %08o", 0, 0); */ /* Dump(buffer, rc); */ /* rc = trio_sprintf(buffer, "%a %a", 0.0, 1.0); */ /* Dump(buffer, rc); */ /* printf("%*s%*s%*s\n", */ /* -1, "one", */ /* -20, "two", */ /* -30,"three"); */ /* trio_printf("%*s%*s%*s\n", */ /* -1, "one", */ /* -20, "two", */ /* -30,"three"); */ /* dnum = pow (2.0, -1024.1); */ /* dnum = pow (2.0, -1024); */ /* dnum = pow(2.0, 16.0); */ /* rc = trio_snprintf(buffer, sizeof(buffer), "%.200g %a %.200.2g", */ /* dnum, dnum, dnum); */ /* Dump(buffer, rc); */ /* dnum = 3.141e-44; */ /* rc = trio_snprintf(buffer, sizeof(buffer), "%.200g %a %.200.2g", */ /* dnum, dnum, dnum); */ /* Dump(buffer, rc); */ rc = trio_sscanf("0x2.ap+4", "%a", &dnum); trio_snprintf(buffer, sizeof(buffer), "%f %a", dnum, dnum); Dump(buffer, rc); return 0; }