Mercurial > octave
view libinterp/corefcn/sighandlers.h @ 27477:b470734a025e
Return an empty string from rats when input is empty (bug #57004).
* pr-output.cc (Frats): Use isempty() to detect special case of input early and
immediately return an empty string. Add BIST test for bug #57004.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 05 Oct 2019 14:04:36 -0700 |
parents | 00f796120a6d |
children | b442ec6dda5c |
line wrap: on
line source
/* Copyright (C) 1993-2019 John W. Eaton This file is part of Octave. Octave 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 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <https://www.gnu.org/licenses/>. */ /* The signal blocking macros defined below were adapted from similar functions from GNU Bash, the Bourne Again SHell, copyright (C) 1994 Free Software Foundation, Inc. */ // This file should always be included after config.h! #if ! defined (octave_sighandlers_h) #define octave_sighandlers_h 1 #include "octave-config.h" #include "child-list.h" namespace octave { // This type must match the typedef in signal-wrappers.h. typedef void sig_handler (int); struct interrupt_handler { sig_handler *int_handler; sig_handler *brk_handler; }; // Nonzero means we have already printed a message for this series of // SIGPIPES. We assume that the writer will eventually give up. extern int pipe_handler_error_count; // TRUE means we can be interrupted. extern OCTINTERP_API bool can_interrupt; extern OCTINTERP_API sig_handler * set_signal_handler (int sig, sig_handler *h, bool restart_syscalls = true); extern OCTINTERP_API sig_handler * set_signal_handler (const char *signame, sig_handler *h, bool restart_syscalls = true); extern OCTINTERP_API void install_signal_handlers (void); extern OCTINTERP_API void respond_to_pending_signals (void); extern OCTINTERP_API interrupt_handler catch_interrupts (void); extern OCTINTERP_API interrupt_handler ignore_interrupts (void); extern OCTINTERP_API interrupt_handler set_interrupt_handler (const volatile interrupt_handler& h, bool restart_syscalls = true); // TRUE means we should try to enter the debugger on SIGINT. extern OCTINTERP_API bool Vdebug_on_interrupt; } #endif