]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/memory-stream.cc
lilypond-manuals.css: edit color scheme and some spacing
[lilypond.git] / flower / memory-stream.cc
index a560a926de96104971934897fe3ce8e5c2c16d82..511657f5fcc733d2b15d2846155f10cbdd88477f 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2005--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -31,14 +31,15 @@ const int Memory_out_stream::block_size_ = 1024;
 
 lily_cookie_io_functions_t
 Memory_out_stream::functions_
-= {
+=
+{
   Memory_out_stream::reader,
   Memory_out_stream::writer,
   Memory_out_stream::seeker,
   Memory_out_stream::cleaner
 };
 
-int
+ssize_t
 Memory_out_stream::cleaner (void *cookie)
 {
   Memory_out_stream *stream = (Memory_out_stream *) cookie;
@@ -87,12 +88,12 @@ Memory_out_stream::get_string () const
 
 ssize_t
 Memory_out_stream::writer (void *cookie,
-                          char const *buffer,
-                          size_t size)
+                           char const *buffer,
+                           size_t size)
 {
   Memory_out_stream *stream = (Memory_out_stream *) cookie;
 
-  ssize_t newsize = stream->size_ + size;
+  ssize_t newsize = stream->size_ + (ssize_t) size;
 
   bool change = false;
   while (newsize > stream->buffer_blocks_ * block_size_)
@@ -104,27 +105,27 @@ Memory_out_stream::writer (void *cookie,
 
   if (change)
     stream->buffer_ = (char *) realloc (stream->buffer_,
-                                       stream->buffer_blocks_ * block_size_);
+                                        (size_t) (stream->buffer_blocks_ * block_size_));
 
   memcpy (stream->buffer_ + stream->size_, buffer, size);
   stream->size_ = newsize;
 
-  return size;
+  return (ssize_t) size;
 }
 
 ssize_t
 Memory_out_stream::reader (void * /* cookie */,
-                          char * /* buffer */,
-                          size_t /* size */)
+                           char * /* buffer */,
+                           size_t /* size */)
 {
   assert (false);
   return 0;
 }
 
-int
+ssize_t
 Memory_out_stream::seeker (void *,
-                          off64_t *,
-                          int)
+                           off64_t *,
+                           size_t)
 {
   assert (false);
   return 0;