IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 18, 2006, 6:58:54 AM (20 years ago)
Author:
eugene
Message:

updates to fix comm problems with buffers (motivated by opihi gprint)

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

Legend:

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

    r7917 r7929  
    173173int ExpectCommand (int device, int length, double timeout, IOBuffer *buffer);
    174174int SendMessage (int device, char *format, ...);
     175int SendMessageFixed (int device, int length, char *messge);
    175176int SendCommand (int device, int length, char *format, ...);
    176177int SendCommandV (int device, int length, char *format, va_list argp);
  • trunk/Ohana/src/libohana/src/CommOps.c

    r7917 r7929  
    8888}
    8989
     90/* send a message of known size, sending the size first */
     91int SendMessageFixed (int device, int length, char *message) {
     92
     93  int status;
     94
     95  status = SendCommand (device, 16, "NBYTES: %6d", length);
     96  status = SendCommand (device, length, message);
     97  return (status);
     98}
     99
    90100int SendCommand (int device, int length, char *format, ...) {
    91101
     
    108118  vsnprintf (string, length + 1, format, argp);
    109119
    110   /* fprintf (stderr, "msg: %s\n", string); */
    111120  write (device, string, length);
    112121  free (string);
  • trunk/Ohana/src/libohana/src/IOBufferOps.c

    r7917 r7929  
    107107  Nbyte = vsnprintf (&tmp, 0, format, argp);
    108108
    109   if (buffer[0].Nbuffer + Nbyte + 1 >= buffer[0].Nalloc) {
     109  if (buffer[0].Nbuffer + Nbyte + 1>= buffer[0].Nalloc) {
    110110    buffer[0].Nalloc = buffer[0].Nbuffer + Nbyte + 64;
    111111    REALLOCATE (buffer[0].buffer, char, buffer[0].Nalloc);
     
    113113
    114114  vsnprintf (&buffer[0].buffer[buffer[0].Nbuffer], Nbyte + 1, format, argp);
    115   buffer[0].Nbuffer += Nbyte + 1;
     115  buffer[0].Nbuffer += Nbyte;
    116116  return (TRUE);
    117117}
Note: See TracChangeset for help on using the changeset viewer.