X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fifo.c;h=ac0d21576dcf9fce5192945472cb7dd04f624bff;hp=5406aa572199a9c1f59756f3ecfd397c74a07e50;hb=e39863e3cb61bb750f5e7d87fcf11c2bf4651996;hpb=104bc4bdf55bd79c2b3f9087601c3df4aa884b2a diff --git a/fifo.c b/fifo.c index 5406aa57..ac0d2157 100644 --- a/fifo.c +++ b/fifo.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ @@ -24,6 +24,7 @@ #include #include "fifo.h" +#include "minmax.h" struct fifo *fifo_alloc(unsigned int size) { @@ -31,11 +32,11 @@ struct fifo *fifo_alloc(unsigned int size) fifo = malloc(sizeof(struct fifo)); if (!fifo) - return 0; + return NULL; fifo->buffer = malloc(size); fifo->size = size; - fifo->in = fifo->out = 0xffff0000; + fifo->in = fifo->out = 0; return fifo; } @@ -69,23 +70,23 @@ unsigned int fifo_put(struct fifo *fifo, void *buffer, unsigned int len) return len; } -unsigned int fifo_get(struct fifo *fifo, void *buffer, unsigned int len) +unsigned int fifo_get(struct fifo *fifo, void *buf, unsigned int len) { len = min(len, fifo->in - fifo->out); - if (buffer) { + if (buf) { unsigned int l; /* * first get the data from fifo->out until the end of the buffer */ l = min(len, fifo->size - (fifo->out & (fifo->size - 1))); - memcpy(buffer, fifo->buffer + (fifo->out & (fifo->size - 1)),l); + memcpy(buf, fifo->buffer + (fifo->out & (fifo->size - 1)), l); /* * then get the rest (if any) from the beginning of the buffer */ - memcpy(buffer + l, fifo->buffer, len - l); + memcpy(buf + l, fifo->buffer, len - l); } fifo->out += len;