IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 41321


Ignore:
Timestamp:
Apr 1, 2020, 4:12:16 PM (6 years ago)
Author:
eugene
Message:

add WriteToIOBuffer function

Location:
trunk/Ohana/src/libohana
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libohana/include/ohana.h

    r40549 r41321  
    391391int     PrintIOBuffer          PROTO((IOBuffer *buffer, char *format, ...)) OHANA_FORMAT(printf, 2, 3);
    392392int     vPrintIOBuffer         PROTO((IOBuffer *buffer, char *format, va_list argp));
     393int     WriteToIOBuffer        PROTO((IOBuffer *buffer, char *input, int Ninput));
    393394
    394395/* communication functions */
  • trunk/Ohana/src/libohana/src/IOBufferOps.c

    r23553 r41321  
    129129}
    130130 
     131/* write the bytes to the IOBuffer */
     132int WriteToIOBuffer (IOBuffer *buffer, char *input, int Ninput) {
     133
     134  // extend the buffer if needed
     135  if (buffer[0].Nbuffer + Ninput + 1 >= buffer[0].Nalloc) {
     136    buffer[0].Nalloc = buffer[0].Nbuffer + Ninput + 64;
     137    REALLOCATE (buffer[0].buffer, char, buffer[0].Nalloc);
     138  }
     139
     140  memcpy (&buffer[0].buffer[buffer[0].Nbuffer], input, Ninput);
     141  buffer[0].Nbuffer += Ninput;
     142  buffer[0].buffer[buffer[0].Nbuffer] = 0;
     143
     144  return (TRUE);
     145}
     146 
Note: See TracChangeset for help on using the changeset viewer.