Esempio n. 1
0
/* return IS_???_FILE (smfconv.h) */
static int is_midifile_url(URL url)
{
    char buffer[1024];
    long len;
    int i;

    len=url_nread(url,buffer,100);

    for(i=0; is_midifile_check[i].type!=IS_OTHER_FILE; i++) {
        if(len<is_midifile_check[i].len)
            continue;
        if(memcmp(buffer,is_midifile_check[i].header,is_midifile_check[i].len)==0)
            return is_midifile_check[i].type;
    }
    return IS_OTHER_FILE;
}
Esempio n. 2
0
/* return allocated memory void pointer */
static void *url2mem(URL url,long *lenp)
{
#define URL2MEM_BUFFER_BLOCK_SIZE 10240
    char *buffer = NULL;
    long buffer_size = 0;
    long buffer_size2 = 0;
    long ret;

    for(;;) {
        if(buffer_size2 < buffer_size + URL2MEM_BUFFER_BLOCK_SIZE) {
            if((buffer = (char *)safe_realloc(buffer,buffer_size2 + URL2MEM_BUFFER_BLOCK_SIZE))==NULL)
                return NULL;
            buffer_size2+=URL2MEM_BUFFER_BLOCK_SIZE;
        }
        ret=url_nread(url,buffer+buffer_size,URL2MEM_BUFFER_BLOCK_SIZE);
        if(ret<0)
            break;
        buffer_size+=ret;
        if(ret<URL2MEM_BUFFER_BLOCK_SIZE)
            break;
    }
    *lenp = buffer_size;
    return (void *)buffer;
}
Esempio n. 3
0
int 
_mm_read_string (CHAR * buffer, int number, URL reader)
{
  return url_nread (reader, buffer, number);
}
Esempio n. 4
0
long tf_read(void *buff, int32 size, int32 nitems, struct timidity_file *tf)
{
    return url_nread(tf->url, buff, size * nitems) / size;
}