Mercurial > octave-nkf
view examples/stringdemo.cc @ 18791:83c85d95ac7b stable
Fix assert() segfaults with profiler (bug #39587, bug #39586).
* profiler.cc (profile_data_accumulator::tree_node::exit,
profile_data_accumulator::exit_function, ): Comment
out assert() statements which are not valid when profile is called
from within a function.
* profiler.cc (F__profiler_reset__, F__profiler_data__,
F__profiler_enable__): Use correct function name in Texinfo
docstring.
* profiler.cc (F__profiler_data__): define retval(1) first to
resize return vector just once.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 14 May 2014 13:59:44 -0700 |
parents | be41c30bcb44 |
children |
line wrap: on
line source
#include <octave/oct.h> DEFUN_DLD (stringdemo, args, , "String Demo") { octave_value_list retval; int nargin = args.length (); if (nargin != 1) print_usage (); else { charMatrix ch = args(0).char_matrix_value (); if (! error_state) { retval(1) = octave_value (ch, '\''); // Single Quote String octave_idx_type nr = ch.rows (); for (octave_idx_type i = 0; i < nr / 2; i++) { std::string tmp = ch.row_as_string (i); ch.insert (ch.row_as_string (nr-i-1).c_str (), i, 0); ch.insert (tmp.c_str (), nr-i-1, 0); } retval(0) = octave_value (ch, '"'); // Double Quote String } } return retval; }