Archive for the ‘BBS Stuff’ Category

TinyTic on the Linux BBS   Leave a comment

Well, BBS’ing is still in my system, and I know, really…I should be over it by now.

There is just something about running old fashioned command line stuff that I love.

So..last night spent a couple of hours, well five to be precise, fixing a bug in a little utility called TinyTic.

TinyTic is a file tosser, it takes incoming files from file networks and with some help from their *.tic description file, moves them to the correct Area/ directory

on the BBS so people can see them to download – only in this case – it didn’t quite do what it said on the tin.

It was one of those mad bad issues that nearly drove me from the product and into searching for another.

I stuck with it, and the great thing with soureforge stuff is, that you get to play if it doesn;t work the way you want.

Only a small bug, the program kept complaining it couldn’t find its config file when attempting file moves, and failed to move the files. It knew where the files were to move, which meant it must have opened the config file initially. My suspicion, eventually founded, was that once it loaded it switched to the inbound data directory where the files were being held, and then tried to load the config file again without path sourcing it….yay!
So five hours of looking and a few lines of code had this handy Tiny TIC file processor running happily on my linux BBS box. My Synchronet BBS now has a new working tool to import files coming in on my file feed, and I’m a happy c++ bunny!

If you are trying to get TinyTic working under linux then this is the code you’ll need to change:

Open up tprocess.cpp in your favourite editor.

Find the CheckArea function:

Go edit the first section so it looks like this;

— start of change

bool CheckArea(const char *area_name, string &Destination)

{

fstream fConfig;

char    szTmpBuffer[ BUFFER_MAXLEN ] = “\x0”;

string  Buffer;

string  Log;

bool    AreaExists = false;

Buffer = CurrentDirectory.c_str();
#if defined(__TINYTIC_WINDOWS) || defined(__TINYTIC_OS2)

Buffer += “\\”;

#elif defined(__TINYTIC_POSIX)

Buffer += “/”;

#endif
Buffer += szConfigFile.c_str();

— snip end of change

You’ll see the first few lines are as currently in the code, then we change the first buffer entry to CurrentDirectory (which is populated with the directory name of where you start the utility in the main tic code file) and in theory (I can’t test under DOS) enabled it to still work under DOS when compiled that way.

Compile, create binary – you shouuld be good to go!!

Danny

Advertisements

Posted May 11, 2011 by stormwalker255 in BBS Stuff

Tagged with