view src/util_win.c @ 112:9daf778feaf1 1.4

Fix usage of WIN32 macro. With c++11 this is no longer set. _WIN32 is the better macro to use anyway.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 08 Dec 2016 15:34:07 +0100
parents 147b08bc7d64
children
line wrap: on
line source
#ifdef _WIN32
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */

/**@file Linux implementation of functions declared in util.h */

#include "util.h"
#include "strhelp.h"

#include <windows.h>

char *
get_install_dir()
{
  wchar_t wPath[MAX_PATH];
  char *utf8path = NULL;
  char *dirsep = NULL;

  if (!GetModuleFileNameW (NULL, wPath, MAX_PATH - 1))
    {
      return NULL;
    }

  /* wPath might not be 0 terminated */
  wPath[MAX_PATH - 1] = '\0';

  utf8path = wchar_to_utf8 (wPath, wcsnlen(wPath, MAX_PATH));

  if (utf8path == NULL)
    {
      return NULL;
    }

  /* Cut away the executable name */
  dirsep = strrchr(utf8path, '\\');
  if (dirsep == NULL)
    {
      return NULL;
    }
  *dirsep = '\0';
  return utf8path;
}
#endif
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)