|
|
#include "mit-copyright.h"
#include <pwd.h>
#include "main.h"
#include "new_string.h"
#include "error.h"
Go to the source code of this file.
Functions | |
char * | get_home_directory () |
FILE * | locate_file (char *override_filename, char *home_dir_filename, char *fallback_filename) |
|
Definition at line 31 of file file.c. References getenv(). Referenced by locate_file(). 00032 { 00033 char *result; 00034 char *getenv(); 00035 struct passwd *passwd_entry; 00036 00037 if ((result = getenv("HOME"))) 00038 return (result); 00039 00040 if (!(passwd_entry = getpwuid(getuid()))) 00041 return (NULL); 00042 00043 return (passwd_entry->pw_dir); 00044 }
|
|
Definition at line 51 of file file.c. References errno, ERROR, get_home_directory(), string_Concat, string_Concat2, and string_Eq. 00055 { 00056 char *filename; 00057 FILE *result; 00058 00059 errno = 0; 00060 00061 if (override_filename) { 00062 if (string_Eq(override_filename, "-")) 00063 return (stdin); 00064 00065 result = fopen(override_filename, "r"); 00066 if (!(result = fopen(override_filename, "r"))) { 00067 /* <<<>>> */ 00068 fprintf(stderr, "jwgc: error while opening %s for reading: ", 00069 override_filename); 00070 perror(""); 00071 } 00072 return (result); 00073 } 00074 00075 if (home_dir_filename) { 00076 if ((filename = get_home_directory())) { 00077 filename = string_Concat(filename, "/"); 00078 filename = string_Concat2(filename, home_dir_filename); 00079 result = fopen(filename, "r"); 00080 if (result) { 00081 free(filename); 00082 return (result); 00083 } 00084 if (errno != ENOENT) { 00085 fprintf(stderr, "jwgc: error while opening %s for reading: ", 00086 filename); 00087 perror(""); 00088 free(filename); 00089 return (result); 00090 } 00091 free(filename); 00092 } 00093 else 00094 ERROR("unable to find your home directory.\n"); 00095 } 00096 00097 if (fallback_filename) { 00098 if (!(result = fopen(fallback_filename, "r"))) { 00099 /* <<<>>> */ 00100 fprintf(stderr, "jwgc: error while opening %s for reading: ", 00101 fallback_filename); 00102 perror(""); 00103 } 00104 return (result); 00105 } 00106 00107 return (NULL); 00108 }
|
Last updated at Tue Dec 18 21:07:42 PST 2007. | This site and project hosted by... |