Separate modules by subdirectory

This commit is contained in:
Keith Winstein
2012-02-06 18:26:45 -05:00
parent 7e56af8fcd
commit 38c9e99882
58 changed files with 79 additions and 16 deletions
+5
View File
@@ -0,0 +1,5 @@
AM_CXXFLAGS = --std=c++0x -pedantic -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
noinst_LIBRARIES = libmoshutil.a
libmoshutil_a_SOURCES = swrite.cc swrite.h dos_assert.h
+22
View File
@@ -0,0 +1,22 @@
#ifndef DOS_ASSERT_HPP
#define DOS_ASSERT_HPP
#include <stdio.h>
#include <stdlib.h>
#include "crypto.h"
static void dos_detected( const char *expression, const char *file, int line, const char *function )
{
char buffer[ 2048 ];
snprintf( buffer, 2048, "Illegal counterparty input (possible denial of service) in function %s at %s:%d, failed test: %s\n",
function, file, line, expression );
throw Crypto::CryptoException( buffer );
}
#define dos_assert(expr) \
((expr) \
? (void)0 \
: dos_detected (__STRING(expr), __FILE__, __LINE__, __PRETTY_FUNCTION__ ))
#endif
+23
View File
@@ -0,0 +1,23 @@
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include "swrite.h"
int swrite( int fd, const char *str, ssize_t len )
{
ssize_t total_bytes_written = 0;
ssize_t bytes_to_write = ( len >= 0 ) ? len : strlen( str );
while ( total_bytes_written < bytes_to_write ) {
ssize_t bytes_written = write( fd, str + total_bytes_written,
bytes_to_write - total_bytes_written );
if ( bytes_written <= 0 ) {
perror( "write" );
return -1;
} else {
total_bytes_written += bytes_written;
}
}
return 0;
}
+6
View File
@@ -0,0 +1,6 @@
#ifndef SWRITE_HPP
#define SWRITE_HPP
int swrite( int fd, const char *str, ssize_t len = -1 );
#endif