Public feed #888058

Mine

public text v1 · immutable
Raw Edit
·published 2008-02-01 20:55 UTC
rendered paste body
#include  <stdio.h>
//#include  <sys/types.h>
#include  <string.h>
//#include  <stdlib.h>
#include  <unistd.h>
//#include  <fcntl.h>
//#include  <sys/wait.h>
//#include  <errno.h>
//#include  <signal.h>

#define MAX_LEN 100

int allValidChars(const char * str);


int main (void)
{
	
	while (1) 
	{
		char *result;
		char line[MAX_LEN+1]  = "";
		
		//read line of input
		result = fgets(line, MAX_LEN, stdin);
		
		//check for valid input
		if(!result)
		{
			break;
		}
		if(allValidChars(line) == 0)
		{
			printf("illegal character in line\n");
			return -1;
		}
		
		printf("line looks good, parsing...\n");
		
		//parse the line
		char * token = strtok(line, " ");
		printf("first tolken: %s\n",token);
		
		//char * path = NULL;
		//int len = 0;
		//getcwd(path, len);
		//printf("%s\n",path);		
		
		if(token[0]!='/')
		{
			printf("appending path");
			char *path = getcwd(NULL,0);
			printf("found CWD:\n%s\n",path);
			strcat(path, "/");
			strcat(path,token);
			printf("path appended\n");
		} else
		{
			printf("path already present\n");
			path = &token;
		}
		printf("path: %s\n",path);
		
		
//		printf("line = %s\n",line);
	}
	
	return 0;
}

int allValidChars(const char * str)
{
	int len = 0;
	int i = 0;
	len = strlen(str);
	for(i=0;i<len;i++)
	{
		printf("%i\n", str[i]);
		if (str[i] != '-' && 
			str[i] != '.' && 
			str[i] != '/' && 
			str[i] != '_' && 
			str[i] != ' ' && 
			!(48 <= str[i] <= 57)&& //numbers
			!(65 <= str[i] <= 90)&& //caps
			!(97 <= str[i] <= 122)) //low
		{
			return 0;
		}
	}
	return 1;
}