diff --git a/gverilog.c b/gverilog.c index 2524d72c4..8c6d5d2f2 100644 --- a/gverilog.c +++ b/gverilog.c @@ -121,16 +121,17 @@ void create_outputfilename(char *input, char *output) int spacepos=0; int i=0; - dotpos = strlen(input); - for(i=dotpos; i!=0; i--){ + for(i=strlen(input); i!=0; i--){ if ((dotpos == 0) && (input[i] == '.')) dotpos = i; if ((spacepos == 0) && (input[i] == ' ')) spacepos = i; } - if ((dotpos != 0) && (dotpos > spacepos)) { - output = strncpy(output, &input[spacepos+1], dotpos-spacepos-3); + if (dotpos == 0) { + dotpos = strlen(input); } + output = strncpy(output, &input[spacepos+1], dotpos-spacepos-1); + return; }