Esempio n. 1
0
/*
 * Return current user's home directory. Try:
 *   - %HOME%
 *   - %APPDATA%
 *   - %USERPROFILE%\\Application Data
 *   - else EC's dir.
 *
 * Not used yet.
 */
const char *ec_win_get_user_dir (void)
{
    static char path[MAX_PATH] = "";
    char  *home;

    if (path[0])
        return (path);

    home = getenv ("HOME");
    if (home)
        strncpy (path, home, sizeof(path)-1);
    else {
        home = getenv ("APPDATA");         /* Win-9x/ME */
        if (home)
            strncpy (path, home, sizeof(path)-1);
        else {
            home = getenv ("USERPROFILE");   /* Win-2K/XP */
            if (home)
                snprintf (path, sizeof(path)-1, "%s\\Application Data", home);
            else
                strncpy (path, ec_win_get_ec_dir(), sizeof(path)-1);
        }
    }
    path [sizeof(path)-1] = '\0';
    return slashify (path);
}
Esempio n. 2
0
char * get_local_path(const char *file)
{
   char *filename;

#ifdef OS_WINDOWS
   /* get the path in wich ettercap is running */
   char *self_root = ec_win_get_ec_dir();
#else
   char *self_root = ".";
#endif

   SAFE_CALLOC(filename, strlen(self_root) + strlen("/share/") + strlen(file) + 1, sizeof(char));
   
   snprintf(filename, strlen(self_root)+strlen("/share/") + strlen(file) + 1, "%s/share/%s", self_root, file);
   
   DEBUG_MSG("get_local_path -- %s", filename);
   
   return filename;
}