1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-20 05:42:19 +00:00

better implementation of read()

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15483 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nicodvb 2005-05-15 15:38:57 +00:00
parent 03be3966c2
commit f781d5bc30

View File

@ -168,6 +168,7 @@ static int cue_find_bin (char *firstline) {
/* get the filename out of that */
/* 12345 6 */
mp_msg (MSGT_OPEN,MSGL_INFO, "[bincue] cue_find_bin(%s)\n", firstline);
if (strncmp(firstline, "FILE \"",6)==0)
{
i = 0;
@ -324,9 +325,9 @@ static int cue_read_cue (char *in_cue_filename)
if (*t == '\0')
strcpy(t, "/");
}
mp_msg(MSGT_OPEN,MSGL_V,"dirname: %s\n", t);
strlcpy(bincue_path,t,sizeof( bincue_path ));
mp_msg(MSGT_OPEN,MSGL_V,"dirname: %s, cuepath: %s\n", t, bincue_path);
/* no path at all? */
if (strcmp(bincue_path, ".") == 0) {
@ -497,7 +498,6 @@ static void cue_vcd_read_toc(){
static int cue_vcd_read(stream_t *stream, char *mem, int size) {
unsigned long position;
int track = cue_current_pos.track - 1;
unsigned char tmp[VCD_SECTOR_OFFS];
position = tracks[track].start_offset +
(cue_msf_2_sector(cue_current_pos.minute,
@ -510,16 +510,11 @@ static int cue_vcd_read(stream_t *stream, char *mem, int size) {
if(position >= tracks[track+1].start_offset)
return 0;
if(lseek(fd_bin, position, SEEK_SET) == -1) {
if(lseek(fd_bin, position+VCD_SECTOR_OFFS, SEEK_SET) == -1) {
mp_msg(MSGT_OPEN,MSGL_ERR, "[bincue] unexpected end of bin file\n");
return 0;
}
if(read(fd_bin, tmp, VCD_SECTOR_OFFS) != VCD_SECTOR_OFFS) {
mp_msg(MSGT_OPEN,MSGL_ERR, "[bincue] couldn't skip %d bytes before payload\n", VCD_SECTOR_OFFS);
return 0;
}
if(read(fd_bin, mem, VCD_SECTOR_DATA) != VCD_SECTOR_DATA) {
mp_msg(MSGT_OPEN,MSGL_ERR, "[bincue] couldn't read %d bytes of payload\n", VCD_SECTOR_DATA);
return 0;