MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / gen_tpb

Function gen_tpb

src/gpre/languages/pas.cpp:3015–3056  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3013//
3014
3015static void gen_tpb( const tpb* tpb_val, int column)
3016{
3017 TEXT buffer[80];
3018
3019 printa(column, "gds__tpb_%d\t: %s [1..%d] of char := %s",
3020 tpb_val->tpb_ident, PACKED_ARRAY, tpb_val->tpb_length, OPEN_BRACKET);
3021
3022 int length = tpb_val->tpb_length;
3023 const TEXT* text = (TEXT *) tpb_val->tpb_string;
3024 TEXT* p = buffer;
3025
3026 while (--length)
3027 {
3028 const TEXT c = *text++;
3029 if ((c >= 'A' && c <= 'Z') || c == '$' || c == '_')
3030 sprintf(p, "'%c', ", c);
3031 else
3032 sprintf(p, "chr(%d), ", c);
3033 while (*p)
3034 p++;
3035 if (p - buffer > 60)
3036 {
3037 align(column + INDENT);
3038 fprintf(gpreGlob.out_file, " %s", buffer);
3039 p = buffer;
3040 *p = 0;
3041 }
3042 }
3043
3044 // handle the last character
3045 TEXT c = *text++;
3046
3047 if ((c >= 'A' && c <= 'Z') || c == '$' || c == '_')
3048 sprintf(p, "'%c',", c);
3049 else
3050 sprintf(p, "chr(%d)", c);
3051
3052 align(column + INDENT);
3053 fprintf(gpreGlob.out_file, "%s", buffer);
3054
3055 printa(column, "%s;\n", CLOSE_BRACKET);
3056}
3057
3058
3059//____________________________________________________________

Callers 1

gen_databaseFunction · 0.70

Calls 2

printaFunction · 0.70
alignFunction · 0.70

Tested by

no test coverage detected