/* GPRoFTPD, an easy to use GTK+ frontend for the PRoFTPD standalone server. * Copyright (C) 2000-2007 Magnus Loef * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * */ #include #include #include #include "get_option_pos.h" int get_option_pos(char *line, int optnum) { int z = 0; int num = 1; long i = 0; if( optnum == 0 ) { for(i=0; line[i]!='\0'; i++) if( line[i]!=' ' && line[i]!='\t' ) break; return i; } if( optnum == 1 ) { for(i=0; line[i]!='\0'; i++) if( line[i]!=' ' && line[i]!='\t' ) break; for(i=i; line[i]!='\0'; i++) if( line[i]==' ' && line[i+1]!=' ' ) break; i++; return i; } /* Scroll past the first option declaration to the first option value */ if( line!=NULL && strlen(line) > 0 ) { for(i=0; line[i]!='\0'; i++) { if( line[i]!=' ' ) break; } for(i=i; line[i]!='\0'; i++) { if( line[i-1]==' ' && line[i]!=' ' ) break; } } /* One small step for man, one giant leap for mankind :) */ i++; for(z=0; z<=optnum; z++) { if( num == optnum ) break; /* Scroll to the beginning of the option value */ if( line!=NULL && strlen(line) > 0 ) { for(i=i; line[i]!='\0'; i++) { if( line[i-1]==' ' && line[i]!=' ' ) { num++; break; } } } } return i; }