Files @ d11848bd0bc1
Branch filter:

Location: DistRen/src/client/distren.c

ethanzonca@localhost.localdomain
Killed random junk
/*
  Copyright 2008 Nathan Phillip Brink, Ethan Zonca, Matt Orlando

  This file is a part of DistRen.

  DistRen is free software: you can redistribute it and/or modify
  it under the terms of the GNU Affero General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  DistRen is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License
  along with DistRen.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <stdio.h> /* sprintf, printf */
#include <stdlib.h> /* malloc, free */
#include "options.h"
#include "execio.h"
#include <libxml/tree.h> /* Happy fun XML time */
#include <libxml/xmlwriter.h>



int main(int argc, char *argv[])
{




	/* XML Testing, segfaults, so reverted to default. */
	/*
		xmlDocPtr doc;
		xmlNodePtr cur;

		doc = xmlParseFile(docname);

		if (doc == NULL ) {
			fprintf(stderr,"The document was not parsed correctly \n");
			return;
		}

		cur = xmlDocGetRootElement(doc);

		if (cur == NULL) {
			fprintf(stderr,"I cannot parse an empty document \n");
			xmlFreeDoc(doc);
			return;
		}

		if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
			fprintf(stderr,"The document you want me to parse is of the wrong type");
			xmlFreeDoc(doc);
			return;
		}

	*/



  char buf[10];
  struct execio *testrem;
  char *execargv[] =
    {
      "ssh",
      "protofusion.org",
      "sh",
      "-c",
      "\"echo hello from ${HOSTNAME}\"",
      (char *)NULL
    };

  size_t readlen;


  fprintf(stderr, "testing execio (It shouldn't work) :-)\n");
  fprintf(stderr, "execio_open returns %d\n", execio_open(&testrem, "ssh", execargv));

  buf[9] = '\0';
  while(!execio_read(testrem, buf, 9, &readlen))
    {
      if(readlen > 9)
	{
	  fprintf(stderr, "execio_read doesn't set readlen correctly or read() is messed up\n");
	  return 1;
	}
      buf[readlen] = '\0';
      fprintf(stderr, "read \"%s\"\n", buf);
    }


  return 0;
};

/* this function should probably not exist. asprintf should be used instead of sprintf */
size_t intstrlen(size_t theint)
{
  size_t len = 0; /* if the number is single digit, this will be incremented */
  do
    {
      theint /= 10;
      len ++;
    }
  while(theint > 0);

  return len;
}