Skip to content

Commit

Permalink
libmodplug: MMFILE stuff aren't used since we switched back to timidity.
Browse files Browse the repository at this point in the history
  • Loading branch information
sezero committed Mar 19, 2021
1 parent 256464e commit f0a4e4f
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 152 deletions.
37 changes: 0 additions & 37 deletions src/libmodplug/libmodplug.h
Expand Up @@ -80,43 +80,6 @@ typedef void VOID;

#endif // _WIN32


typedef struct {
char *mm;
int sz;
int pos;
int error;
} MMFILE;

void mmfclose(MMFILE *mmfile);
int mmfeof(MMFILE *mmfile);
int mmfgetc(MMFILE *mmfile);
void mmfgets(char buf[], unsigned int bufsz, MMFILE *mmfile);
long mmftell(MMFILE *mmfile);
void mmfseek(MMFILE *mmfile, long p, int whence);
BYTE mmreadUBYTE(MMFILE *mmfile);
void mmreadUBYTES(BYTE *buf, long sz, MMFILE *mmfile);
void mmreadSBYTES(char *buf, long sz, MMFILE *mmfile);
char *rwops_fgets(char *buf, int buflen, SDL_RWops *rwops);

#define MMSTREAM SDL_RWops
#define _mm_fopen(name,mode) SDL_RWFromFile(name, mode)
#define _mm_fgets(f,buf,sz) rwops_fgets(buf,sz,f)
#define _mm_fseek(f,pos,whence) SDL_RWseek(f,pos,whence)
#define _mm_ftell(f) SDL_RWtell(f)
#define _mm_read_UBYTES(buf,sz,f) SDL_RWread(f, buf, 1, sz)
#define _mm_read_SBYTES(buf,sz,f) SDL_RWread(f, buf, 1, sz)
#define _mm_feof(f) (SDL_RWtell(f) >= SDL_RWsize(f))
#define _mm_fclose(f) SDL_RWclose(f)
#define DupStr(h,buf,sz) SDL_strdup(buf)
/* _mm_malloc and _mm_free clash with Windows malloc.h */
#undef _mm_malloc
#undef _mm_realloc
#undef _mm_free
#define _mm_calloc(h,n,sz) SDL_calloc(n,sz)
#define _mm_recalloc(h,buf,sz,elsz) SDL_realloc(buf,sz)
#define _mm_free(h,p) SDL_free(p)

#define MODPLUG_EXPORT

/*
Expand Down
115 changes: 0 additions & 115 deletions src/libmodplug/modplug.c
Expand Up @@ -52,118 +52,3 @@ void ModPlug_Seek(ModPlugFile* file, int millisecond)

CSoundFile_SetCurrentPos((CSoundFile *) file, (int)(millisecond * postime));
}

// inefficient, but oh well.
char *rwops_fgets(char *buf, int buflen, SDL_RWops *rwops)
{
char *retval = buf;
if (!buflen) return buf;
while (buflen > 1) {
char ch;
if (SDL_RWread(rwops, &ch, 1, 1) != 1) {
break;
}
*(buf++) = ch;
buflen--;
if (ch == '\n') {
break;
}
}
*(buf) = '\0';
return retval;
}

long mmftell(MMFILE *mmfile)
{
return mmfile->pos;
}

void mmfseek(MMFILE *mmfile, long p, int whence)
{
int newpos = mmfile->pos;
switch(whence) {
case SEEK_SET:
newpos = p;
break;
case SEEK_CUR:
newpos += p;
break;
case SEEK_END:
newpos = mmfile->sz + p;
break;
}
if (newpos < mmfile->sz)
mmfile->pos = newpos;
else {
mmfile->error = 1;
// printf("WARNING: seeking too far\n");
}
}

void mmreadUBYTES(BYTE *buf, long sz, MMFILE *mmfile)
{
int sztr = sz;
// do not overread.
if (sz > mmfile->sz - mmfile->pos)
sztr = mmfile->sz - mmfile->pos;
SDL_memcpy(buf, &mmfile->mm[mmfile->pos], sztr);
mmfile->pos += sz;
// if truncated read, populate the rest of the array with zeros.
if (sz > sztr)
SDL_memset(buf+sztr, 0, sz-sztr);
}

void mmreadSBYTES(char *buf, long sz, MMFILE *mmfile)
{
// do not overread.
if (sz > mmfile->sz - mmfile->pos)
sz = mmfile->sz - mmfile->pos;
SDL_memcpy(buf, &mmfile->mm[mmfile->pos], sz);
mmfile->pos += sz;
}

BYTE mmreadUBYTE(MMFILE *mmfile)
{
BYTE b;
b = (BYTE)mmfile->mm[mmfile->pos];
mmfile->pos++;
return b;
}

void mmfclose(MMFILE *mmfile)
{
SDL_free(mmfile);
}

int mmfeof(MMFILE *mmfile)
{
if( mmfile->pos < 0 ) return TRUE;
if( mmfile->pos < mmfile->sz ) return FALSE;
return TRUE;
}

int mmfgetc(MMFILE *mmfile)
{
int b = EOF;
if( mmfeof(mmfile) ) return EOF;
b = mmfile->mm[mmfile->pos];
mmfile->pos++;
if( b=='\r' && !mmfeof(mmfile) && mmfile->mm[mmfile->pos] == '\n' ) {
b = '\n';
mmfile->pos++;
}
return b;
}

void mmfgets(char buf[], unsigned int bufsz, MMFILE *mmfile)
{
int i = 0;
int b;
for( i=0; i<(int)bufsz-1; i++ ) {
b = mmfgetc(mmfile);
if( b==EOF ) break;
buf[i] = b;
if( b == '\n' ) break;
}
buf[i] = '\0';
}

0 comments on commit f0a4e4f

Please sign in to comment.