~ubuntu-branches/debian/sid/ncurses/sid-200908151540

« back to all changes in this revision

Viewing changes to ncurses/base/lib_getstr.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Baumann
  • Date: 2008-11-30 03:43:00 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20081130034300-lw6qrujyjmv6e32x
Tags: 5.7+20081122-2
Adding patch from Samuel Thibault to ensure that aalib checks the
value returned by Gpm_GetEvent() and only proceeds if value == 1
(Closes: #506717).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/****************************************************************************
2
 
 * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc.              *
 
2
 * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              *
3
3
 *                                                                          *
4
4
 * Permission is hereby granted, free of charge, to any person obtaining a  *
5
5
 * copy of this software and associated documentation files (the            *
39
39
*/
40
40
 
41
41
#include <curses.priv.h>
 
42
#include <term.h>
42
43
 
43
 
MODULE_ID("$Id: lib_getstr.c,v 1.28 2009/05/09 17:02:41 tom Exp $")
 
44
MODULE_ID("$Id: lib_getstr.c,v 1.27 2008/08/16 19:20:04 tom Exp $")
44
45
 
45
46
/*
46
47
 * This wipes out the last character, no matter whether it was a tab, control
88
89
    if (!win)
89
90
        returnCode(ERR);
90
91
 
91
 
    NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_ARGx &buf);
 
92
    _nc_get_tty_mode(&buf);
92
93
 
93
94
    oldnl = sp->_nl;
94
95
    oldecho = sp->_echo;
95
96
    oldraw = sp->_raw;
96
97
    oldcbreak = sp->_cbreak;
97
 
    NCURSES_SP_NAME(nl) (NCURSES_SP_ARG);
98
 
    NCURSES_SP_NAME(noecho) (NCURSES_SP_ARG);
99
 
    NCURSES_SP_NAME(noraw) (NCURSES_SP_ARG);
100
 
    NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG);
 
98
    nl();
 
99
    noecho();
 
100
    noraw();
 
101
    cbreak();
101
102
 
102
 
    erasec = NCURSES_SP_NAME(erasechar) (NCURSES_SP_ARG);
103
 
    killc = NCURSES_SP_NAME(killchar) (NCURSES_SP_ARG);
 
103
    erasec = erasechar();
 
104
    killc = killchar();
104
105
 
105
106
    oldstr = str;
106
107
    getyx(win, y, x);
143
144
            }
144
145
        } else if (ch >= KEY_MIN
145
146
                   || (maxlen >= 0 && str - oldstr >= maxlen)) {
146
 
            NCURSES_SP_NAME(beep) (NCURSES_SP_ARG);
 
147
            beep();
147
148
        } else {
148
149
            *str++ = (char) ch;
149
150
            if (oldecho == TRUE) {
192
193
    sp->_raw = oldraw;
193
194
    sp->_cbreak = oldcbreak;
194
195
 
195
 
    NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
 
196
    _nc_set_tty_mode(&buf);
196
197
 
197
198
    *str = '\0';
198
199
    if (ch == ERR)