26 #include <sys/types.h>
27 #include <sys/socket.h>
28 #include <netinet/in.h>
29 #include <arpa/inet.h>
35 #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
38 #define __PRINTF__ printf
39 #define __COUT__ cout << __FILENAME__ << std::dec << " [" << __LINE__ << "]\t"
40 #define __E__ std::endl
51 int main(
int argc,
char** argv)
53 __COUT__ <<
"Starting doxygen main.html editor..." << __E__;
57 __COUT__ <<
"Need 3 arguments: for the full path to main.html AND to ARRAY:<html-to-inject>" << __E__;
60 string mainfn = argv[1];
61 string injectfn = argv[2];
62 string inject2fn = argv[3];
63 __COUT__ <<
"main.html destination full path: " << mainfn << __E__;
64 __COUT__ <<
"main.html source full path: " << mainfn +
".bk" << __E__;
65 __COUT__ <<
"inject.html source full path: " << injectfn << __E__;
66 __COUT__ <<
"inject2.html source full path: " << inject2fn << __E__;
68 FILE *mainSrc = fopen((mainfn +
".bk").c_str(),
"r");
71 __COUT__ <<
"Failed to open... " << mainfn +
".bk" << __E__;
74 FILE *injectSrc = fopen((injectfn).c_str(),
"r");
77 __COUT__ <<
"Failed to open... " << injectfn << __E__;
80 FILE *inject2Src = fopen((inject2fn).c_str(),
"r");
83 __COUT__ <<
"Failed to open... " << inject2fn << __E__;
86 FILE *mainDest = fopen((mainfn).c_str(),
"w");
89 __COUT__ <<
"Failed to open... " << mainfn << __E__;
94 unsigned int countdown = -1;
96 unsigned int injectIndex = 0;
99 while(fgets(line,1000,mainSrc))
101 fputs(line,mainDest);
102 __COUT__ << line << (line[strlen(line)-1] ==
'\n'?
"":
"\n");
105 !strcmp(line,
"<div class=\"contents\">\n"))
113 !strcmp(line,
"<head>\n"))
122 if(!injected && countdown == 0)
143 while(fgets(line,1000,injectSrc))
145 fputs(line,mainDest);
146 __COUT__ << line << (line[strlen(line)-1] ==
'\n'?
"":
"\n");
157 while(fgets(line,1000,inject2Src))
159 fputs(line,mainDest);
160 __COUT__ << line << (line[strlen(line)-1] ==
'\n'?
"":
"\n");
165 __COUT__ <<
"Unknown injection!" << __E__;
176 fclose(mainDest); fclose(injectSrc); fclose(mainSrc);
178 __COUT__ <<
"Doxygen main.html editor complete!" << __E__;