view netinstall/dialog.cc @ 4854:95c4ced5c07c

fix compile problems -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-01-14 Ben Wing <ben@xemacs.org> * glyphs-eimage.c: Turn on fixes for conflicts between jmorecfg.h and windows.h on Cygwin, too. * emacs.c (debug_can_access_memory): * lisp.h: Declare function const void * to avoid warnings. * sysfile.h: Include syswindows.h on Windows to avoid problems using things like PATHNAME_CONVERT_OUT. * sysfile.h (X_OK): * dialog-msw.c (handle_directory_proc): * dialog-msw.c (handle_directory_dialog_box): * nt.c (Fmswindows_short_file_name): * sysdep.c (qxe_allocating_getcwd): * syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR): * unexcw.c (unexec): * unexnt.c (_start): * win32.c (mswindows_read_link_1): Rename PATH_MAX_EXTERNAL to PATH_MAX_TSTR to reflect its actual semantics. * unexcw.c: Remove include of syswindows.h that had been added because sysfile.h didn't include it.
author Ben Wing <ben@xemacs.org>
date Thu, 14 Jan 2010 01:25:16 -0600
parents 3078fd1074e8
children
line wrap: on
line source

/*
 * Copyright (c) 2000, Red Hat, Inc.
 *
 *     This program is free software; you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation; either version 2 of the License, or
 *     (at your option) any later version.
 *
 *     A copy of the GNU General Public License can be found at
 *     http://www.gnu.org/
 *
 * Written by DJ Delorie <dj@cygnus.com>
 *
 */

/* The purpose of this file is to provide common functionality for
   all the dialogs in the program. */

#include "win32.h"
#include <stdio.h>
#include <stdlib.h>
#include "dialog.h"
#include "msg.h"
#include "log.h"

char *
eget (HWND h, int id, char *var)
{
  char tmp[4000];
  if (var)
    {
      free (var);
      var = 0;
    }
  if (GetDlgItemText (h, id, tmp, sizeof (tmp)) > 0) 
    {
      var = (char *) malloc (strlen (tmp)+1);
      strcpy (var, tmp);
    }
  return var;
}

int
eget (HWND h, int id)
{
  BOOL s;
  int r = GetDlgItemInt (h, id, &s, TRUE);
  return r;
}

void
eset (HWND h, int id, char *val)
{
  SetDlgItemText (h, id, val);
}

void
eset (HWND h, int id, int val)
{
  SetDlgItemInt (h, id, (UINT)val, TRUE);
}

int
rbget (HWND h, int *ids)
{
  int i;
  for (i=0; ids[i]; i++)
    if (IsDlgButtonChecked (h, ids[i]) == BST_CHECKED)
      return ids[i];
  return 0;
}

void
rbset (HWND h, int *ids, int id)
{
  int i;
  for (i=0; ids[i]; i++)
    CheckDlgButton (h, ids[i], id==ids[i] ? BST_CHECKED : BST_UNCHECKED);
}

void
fatal (char *m)
{
  DWORD e = GetLastError ();
  char *buf;
  FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
		 0,
		 e,
		 0,
		 (CHAR *)&buf,
		 0,
		 0);
  MessageBox (0, buf, m, 0);
  exit_setup (1);
}