00001 #include <string.h> 00002 #include "xfile.h" 00003 00004 00005 00006 XFILE::XFILE() 00007 { 00008 file = NULL; 00009 line = col = lnfpos = 0L; 00010 fname = lnstr = NULL; 00011 00012 warning = 0; 00013 maxlnover = 0L; 00014 00015 kwdmode = ignore; 00016 ignorecase = 0L; 00017 00018 index_created = id_sec = 0L; 00019 num_sec = 0L; 00020 asect = sect = NULL; 00021 00022 lnpref = lnpostf = NULL; 00023 lnprefl = lnpostfl = 0L; 00024 00025 maxlnsize = 0; 00026 } 00027 00028 00029 00030 XFILE::~XFILE() 00031 { 00032 delete [] lnstr; 00033 delete [] sect; 00034 delete [] fname; 00035 } 00036 00037 00038 /** 00039 The function returns actual value of maximum line length i.e. size 00040 of line buffer for the given XFILE. 00041 00042 @return Returns the maximum accepted line length. 00043 00044 Created by Tomas Koudelka, 11.9.2013 00045 */ 00046 long XFILE::give_maxlnsize() 00047 { 00048 return maxlnsize; 00049 } 00050 00051 00052 00053 /** 00054 The function sets new value of maximum line length i.e. size 00055 of line buffer for the given XFILE. The size of line buffer is given by 00056 parameter lnsize. 00057 00058 @param lnsize - size of line buffer 00059 00060 @return The function does not return anything but it changes 00061 maxlnsize and lnstr data members. 00062 00063 Created by Tomas Koudelka, 11.9.2013 00064 */ 00065 void XFILE::set_maxlnsize(long lnsize) 00066 { 00067 maxlnsize = lnsize; 00068 if (lnstr) 00069 delete [] lnstr; 00070 lnstr = new char[maxlnsize+1]; 00071 memset(lnstr, 0, sizeof(*lnstr)*maxlnsize); 00072 return; 00073 }