Set EOF, defined failure handling macro.
This commit is contained in:
parent
7f5d4502a9
commit
3da1ee4f25
17
main.c
17
main.c
@ -6,6 +6,9 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
|
||||||
|
// Macro for status checks.
|
||||||
|
#define ONFAILED(status, fn) if(status > fn)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO - daemonize, add in reading of config file,
|
* TODO - daemonize, add in reading of config file,
|
||||||
* block sites within a certain time limit.
|
* block sites within a certain time limit.
|
||||||
@ -171,11 +174,19 @@ int main(int argc, char **argv)
|
|||||||
fclose(hostsFile);
|
fclose(hostsFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replace a host in the hosts file with the NEW host.
|
||||||
|
*
|
||||||
|
* @param oldhost
|
||||||
|
* @param newhost
|
||||||
|
* @param hostsFile
|
||||||
|
*/
|
||||||
void replacehost(char *oldhost, char *newhost, FILE *hostsFile) {
|
void replacehost(char *oldhost, char *newhost, FILE *hostsFile) {
|
||||||
char buf[256];
|
char buf[256];
|
||||||
char *ptr, *f;
|
char *ptr, *f;
|
||||||
|
|
||||||
char newHostsFile[4096];
|
char newHostsFile[4096];
|
||||||
|
memset(newHostsFile, 0, 4096);
|
||||||
|
|
||||||
printf("Starting to read!\n");
|
printf("Starting to read!\n");
|
||||||
printf("Looking for host:%s\n", oldhost);
|
printf("Looking for host:%s\n", oldhost);
|
||||||
@ -200,7 +211,11 @@ void replacehost(char *oldhost, char *newhost, FILE *hostsFile) {
|
|||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(0 >= fwrite(newHostsFile, sizeof(char), sizeof(newHostsFile), hostsFile)) {
|
// Ensure we have an EOF at the end of the file.
|
||||||
|
newHostsFile[strlen(newHostsFile)] = EOF;
|
||||||
|
|
||||||
|
// If this failed, write an error message to stderr
|
||||||
|
ONFAILED(0, (fwrite(newHostsFile, sizeof(char), sizeof(newHostsFile), hostsFile))) {
|
||||||
fprintf(stderr, "Did not write anything!\n");
|
fprintf(stderr, "Did not write anything!\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user