void gSendArr( int len, const char *buf ) { gDebug( "Sending array %02[:*hhx to %s\n", len, buf, who ); gWrite( &len, sizeof(len) ); gWrite( buf, len ); }
void gSendStr( const char *buf ) { int len = buf ? strlen( buf ) + 1 : 0; gDebug( "Sending string %'s to %s\n", buf, who ); gWrite( &len, sizeof(len) ); gWrite( buf, len ); }
imeth int BufferedTempFile_im_gWrite(object self, char *buf, unsigned n) { BufferedTempFile_iv_t *iv = GetIVs(BufferedTempFile, self); if (iv->iTmpFile) return gWrite(iv->iTmpFile, buf, n); else { if (n + iv->iCurrentOffset > iv->iBufSize) { createTempFile(self); return gWrite(self, buf, n); } else { memcpy(iv->iBuffer + iv->iCurrentOffset, buf, n); iv->iCurrentOffset += n; iv->iSize = max(iv->iCurrentOffset, iv->iSize); return n; } } }
void gSendInt( int val ) { gDebug( "Sending int %d (%#x) to %s\n", val, val, who ); gWrite( &val, sizeof(val) ); }
PMETHOD void createTempFile(object self) { BufferedTempFile_iv_t *iv = GetIVs(BufferedTempFile, self); iv->iTmpFile = gOpenTempFile(File); gWrite(self, iv->iBuffer, iv->iSize); gFlush(self); }