| /* Processed by ecpg (regression mode) */ |
| /* These include files are added by the preprocessor */ |
| #include <ecpglib.h> |
| #include <ecpgerrno.h> |
| #include <sqlca.h> |
| /* Needed for informix compatibility */ |
| #include <ecpg_informix.h> |
| /* End of automatic include section */ |
| #define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y)) |
| |
| #line 1 "rfmtlong.pgc" |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <pgtypes_error.h> |
| #include <sqltypes.h> |
| |
| /* |
| * This file tests various forms of long-input/output by means of |
| * rfmtlong |
| */ |
| |
| |
| static void |
| check_return(int ret); |
| |
| static void |
| fmtlong(long lng, char *fmt) |
| { |
| static int i; |
| int r; |
| char buf[30]; |
| |
| r = rfmtlong(lng, fmt, buf); |
| printf("r: %d ", r); |
| if (r == 0) |
| { |
| printf("%d: %s (fmt was: %s)\n", i++, buf, fmt); |
| } |
| else |
| check_return(r); |
| } |
| |
| int |
| main(void) |
| { |
| ECPGdebug(1, stderr); |
| |
| fmtlong(-8494493, "-<<<<,<<<,<<<,<<<"); |
| fmtlong(-8494493, "################"); |
| fmtlong(-8494493, "+++$$$$$$$$$$$$$.##"); |
| fmtlong(-8494493, "(&,&&&,&&&,&&&.)"); |
| fmtlong(-8494493, "<<<<,<<<,<<<,<<<"); |
| fmtlong(-8494493, "$************.**"); |
| fmtlong(-8494493, "---$************.**"); |
| fmtlong(-8494493, "+-+################"); |
| fmtlong(-8494493, "abc: ################+-+"); |
| fmtlong(-8494493, "+<<<<,<<<,<<<,<<<"); |
| |
| return (0); |
| } |
| |
| static void |
| check_return(int ret) |
| { |
| switch(ret) |
| { |
| case ECPG_INFORMIX_ENOTDMY: |
| printf("(ECPG_INFORMIX_ENOTDMY)"); |
| break; |
| case ECPG_INFORMIX_ENOSHORTDATE: |
| printf("(ECPG_INFORMIX_ENOSHORTDATE)"); |
| break; |
| case ECPG_INFORMIX_BAD_DAY: |
| printf("(ECPG_INFORMIX_BAD_DAY)"); |
| break; |
| case ECPG_INFORMIX_BAD_MONTH: |
| printf("(ECPG_INFORMIX_BAD_MONTH)"); |
| break; |
| default: |
| printf("(unknown ret: %d)", ret); |
| break; |
| } |
| printf("\n"); |
| } |