GNU Radio companion block problem

hi everyone,

       we r trying to create a block that performs fixed length

coding on the data present in a .dat file. we r having foll. queries:

  1. when we use a vector source for creating a file, if we do not give
    repeat parameter as yes and try to use this file as a source for the
    coding block, we get all 0s as the output.BUT WORKS WHEN REPEAT
    PARAMETER IS GIVEN YES!

  2. now if we have to find the length of the data in any source file, in
    c-code our block using file handling concepts, the coding block doesn’t
    get executed (this is the case for both repeat yes and no). BUT WE R
    ABLE TO FIND THE LENGTH OF THIS FILE SEPARATELY WHILE NOT APPENDING IT
    TO OUR C-CODE OF THE BLOCK.

we just want to know, if there is a file source and if we should find
length of the data present(as in characters or numbers), using a block,
how do we do it?

also when we give the i/p as a text file, we again get all 0s as my
coded output.

3.why is this repeat required?

4.why should the file be in data format always?

PLS HELP US!!!