summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2013-03-18 00:36:01 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2013-03-18 00:36:01 +0000
commit6753a094002684a8f14232934c9cdeba13e00e8e (patch)
tree89a64604fcee875bc79d899e21a2547af3965e60
parentextensions. hpgl output. further patch 2 by TimeWaster (Bug 1118663) (diff)
downloadinkscape-6753a094002684a8f14232934c9cdeba13e00e8e.tar.gz
inkscape-6753a094002684a8f14232934c9cdeba13e00e8e.zip
Fix -Wunused-function warnings
(bzr r12221)
-rw-r--r--src/bind/javabind.cpp83
-rw-r--r--src/dialogs/find.cpp216
-rw-r--r--src/libnrtype/font-lister.cpp21
-rw-r--r--src/libnrtype/font-lister.h10
-rw-r--r--src/live_effects/lpe-dynastroke.cpp24
-rw-r--r--src/spray-context.cpp13
-rw-r--r--src/ui/control-manager.cpp12
-rw-r--r--src/ui/widget/layer-selector.cpp11
-rw-r--r--src/xml/repr-util.cpp65
9 files changed, 24 insertions, 431 deletions
diff --git a/src/bind/javabind.cpp b/src/bind/javabind.cpp
index d2d01f0b3..8a66bac59 100644
--- a/src/bind/javabind.cpp
+++ b/src/bind/javabind.cpp
@@ -138,71 +138,6 @@ String getExceptionString(JNIEnv *env)
return buf;
}
-static jint getObjInt(JNIEnv *env, jobject obj, const char *name)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "I");
- return env->GetIntField(obj, fid);
-}
-
-static void setObjInt(JNIEnv *env, jobject obj, const char *name, jint val)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "I");
- env->SetIntField(obj, fid, val);
-}
-
-static jlong getObjLong(JNIEnv *env, jobject obj, const char *name)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "J");
- return env->GetLongField(obj, fid);
-}
-
-static void setObjLong(JNIEnv *env, jobject obj, const char *name, jlong val)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "J");
- env->SetLongField(obj, fid, val);
-}
-
-static jfloat getObjFloat(JNIEnv *env, jobject obj, const char *name)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "F");
- return env->GetFloatField(obj, fid);
-}
-
-static void setObjFloat(JNIEnv *env, jobject obj, const char *name, jfloat val)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "F");
- env->SetFloatField(obj, fid, val);
-}
-
-static jdouble getObjDouble(JNIEnv *env, jobject obj, const char *name)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "D");
- return env->GetDoubleField(obj, fid);
-}
-
-static void setObjDouble(JNIEnv *env, jobject obj, const char *name, jdouble val)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "D");
- env->SetDoubleField(obj, fid, val);
-}
-
-static String getObjString(JNIEnv *env, jobject obj, const char *name)
-{
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "Ljava/lang/String;");
- jstring jstr = (jstring)env->GetObjectField(obj, fid);
- return getString(env, jstr);
-}
-
-static void setObjString(JNIEnv *env, jobject obj, const char *name, const String &val)
-{
- jstring jstr = env->NewStringUTF(val.c_str());
- jfieldID fid = env->GetFieldID(env->GetObjectClass(obj), name, "Ljava/lang/String;");
- env->SetObjectField(obj, fid, jstr);
-}
-
-
-
-
//########################################################################
//# CONSTRUCTOR/DESTRUCTOR
//########################################################################
@@ -241,40 +176,22 @@ JavaBinderyImpl::~JavaBinderyImpl()
void err(const char *fmt, ...)
{
-#if 0
- va_list args;
- fprintf(stderr, "JavaBinderyImpl err:");
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- fprintf(stderr, "\n");
-#else
va_list args;
g_warning("JavaBinderyImpl err:");
va_start(args, fmt);
g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, fmt, args);
va_end(args);
g_warning("\n");
-#endif
}
void msg(const char *fmt, ...)
{
-#if 0
- va_list args;
- fprintf(stdout, "JavaBinderyImpl:");
- va_start(args, fmt);
- vfprintf(stdout, fmt, args);
- va_end(args);
- fprintf(stdout, "\n");
-#else
va_list args;
g_message("JavaBinderyImpl:");
va_start(args, fmt);
g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, fmt, args);
va_end(args);
g_message("\n");
-#endif
}
diff --git a/src/dialogs/find.cpp b/src/dialogs/find.cpp
index 3fabe4d97..c2531b8c8 100644
--- a/src/dialogs/find.cpp
+++ b/src/dialogs/find.cpp
@@ -60,36 +60,6 @@ static win_data wd;
static gint x = -1000, y = -1000, w = 0, h = 0;
static Glib::ustring const prefs_path = "/dialogs/find/";
-
-static void sp_find_dialog_destroy(GObject *object, gpointer)
-{
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- prefs->setInt(prefs_path + "visible", 0);
-
- sp_signal_disconnect_by_data (INKSCAPE, object);
- wd.win = dlg = NULL;
- wd.stop = 0;
-}
-
-
-
-static gboolean sp_find_dialog_delete(GObject *, GdkEvent *, gpointer /*data*/)
-{
- gtk_window_get_position (GTK_WINDOW (dlg), &x, &y);
- gtk_window_get_size (GTK_WINDOW (dlg), &w, &h);
-
- if (x<0) x=0;
- if (y<0) y=0;
-
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- prefs->setInt(prefs_path + "x", x);
- prefs->setInt(prefs_path + "y", y);
- prefs->setInt(prefs_path + "w", w);
- prefs->setInt(prefs_path + "h", h);
-
- return FALSE; // which means, go ahead and destroy it
-}
-
static void
sp_find_squeeze_window()
{
@@ -389,60 +359,9 @@ sp_find_reset_searchfield (GObject *dlg, const gchar *field)
gtk_entry_set_text (GTK_ENTRY(widget), "");
}
-
-static void
-sp_find_dialog_reset (GObject *, GObject *dlg)
-{
- sp_find_reset_searchfield (dlg, "text");
- sp_find_reset_searchfield (dlg, "id");
- sp_find_reset_searchfield (dlg, "style");
- sp_find_reset_searchfield (dlg, "attr");
-
- GtkWidget *types = GTK_WIDGET (g_object_get_data(G_OBJECT (dlg), "types"));
- GtkToggleButton *tb = GTK_TOGGLE_BUTTON (g_object_get_data(G_OBJECT (types), "all"));
- gtk_toggle_button_toggled (tb);
- gtk_toggle_button_set_active (tb, TRUE);
-}
-
-
#define FIND_LABELWIDTH 80
static void
-sp_find_new_searchfield (GtkWidget *dlg, GtkWidget *vb, const gchar *label, const gchar *id, const gchar *tip)
-{
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *hb = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_homogeneous(GTK_BOX(hb), FALSE);
-#else
- GtkWidget *hb = gtk_hbox_new (FALSE, 0);
-#endif
- GtkWidget *l = gtk_label_new_with_mnemonic (label);
- gtk_widget_set_size_request (l, FIND_LABELWIDTH, -1);
- gtk_misc_set_alignment (GTK_MISC (l), 1.0, 0.5);
- gtk_box_pack_start (GTK_BOX (hb), l, FALSE, FALSE, 0);
-
- GtkWidget *tf = gtk_entry_new ();
- gtk_entry_set_max_length (GTK_ENTRY (tf), 64);
- gtk_box_pack_start (GTK_BOX (hb), tf, TRUE, TRUE, 0);
- g_object_set_data (G_OBJECT (dlg), id, tf);
- gtk_widget_set_tooltip_text (tf, tip);
- g_signal_connect ( G_OBJECT (tf), "activate", G_CALLBACK (sp_find_dialog_find), dlg );
- gtk_label_set_mnemonic_widget (GTK_LABEL(l), tf);
-
- gtk_box_pack_start (GTK_BOX (vb), hb, FALSE, FALSE, 0);
-}
-
-static void
-sp_find_new_button (GtkWidget *dlg, GtkWidget *hb, const gchar *label, const gchar *tip, void (*function) (GObject *, GObject *))
-{
- GtkWidget *b = gtk_button_new_with_mnemonic (label);
- gtk_widget_set_tooltip_text (b, tip);
- gtk_box_pack_start (GTK_BOX (hb), b, TRUE, TRUE, 0);
- g_signal_connect ( G_OBJECT (b), "clicked", G_CALLBACK (function), dlg );
- gtk_widget_show (b);
-}
-
-static void
toggle_alltypes (GtkToggleButton *tb, gpointer data)
{
GtkWidget *alltypes_pane = GTK_WIDGET (g_object_get_data(G_OBJECT (data), "all-pane"));
@@ -537,141 +456,6 @@ sp_find_types_checkbox_indented (GtkWidget *w, const gchar *data, gboolean activ
return hb;
}
-
-static GtkWidget *
-sp_find_types ()
-{
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *vb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
- gtk_box_set_homogeneous(GTK_BOX(vb), FALSE);
-#else
- GtkWidget *vb = gtk_vbox_new (FALSE, 4);
-#endif
- gtk_widget_show (vb);
-
- {
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *hb = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_homogeneous(GTK_BOX(hb), FALSE);
-#else
- GtkWidget *hb = gtk_hbox_new (FALSE, 0);
-#endif
- gtk_widget_show (hb);
-
- {
- GtkWidget *l = gtk_label_new_with_mnemonic (_("T_ype: "));
- gtk_widget_show (l);
- gtk_widget_set_size_request (l, FIND_LABELWIDTH, -1);
- gtk_misc_set_alignment (GTK_MISC (l), 1.0, 0.5);
- gtk_box_pack_start (GTK_BOX (hb), l, FALSE, FALSE, 0);
- }
-
- GtkWidget *alltypes = sp_find_types_checkbox (vb, "all", TRUE, _("Search in all object types"), _("All types"), toggle_alltypes);
- gtk_box_pack_start (GTK_BOX (hb), alltypes, FALSE, FALSE, 0);
-
- gtk_box_pack_start (GTK_BOX (vb), hb, FALSE, FALSE, 0);
- }
-
- {
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *vb_all = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
- gtk_box_set_homogeneous(GTK_BOX(vb_all), FALSE);
-#else
- GtkWidget *vb_all = gtk_vbox_new (FALSE, 0);
-#endif
- gtk_widget_show (vb_all);
-
- {
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "shapes", FALSE, _("Search all shapes"), _("All shapes"), toggle_shapes, 10);
- gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
- }
-
-
- {
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *hb = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_homogeneous(GTK_BOX(hb), FALSE);
-#else
- GtkWidget *hb = gtk_hbox_new (FALSE, 0);
-#endif
- gtk_widget_show (hb);
-
- { // empty label for alignment
- GtkWidget *l = gtk_label_new ("");
- gtk_widget_show (l);
- gtk_widget_set_size_request (l, FIND_LABELWIDTH + 20, -1);
- gtk_box_pack_start (GTK_BOX (hb), l, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox (vb, "rects", FALSE, _("Search rectangles"), _("Rectangles"), NULL);
- gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox (vb, "ellipses", FALSE, _("Search ellipses, arcs, circles"), _("Ellipses"), NULL);
- gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox (vb, "stars", FALSE, _("Search stars and polygons"), _("Stars"), NULL);
- gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox (vb, "spirals", FALSE, _("Search spirals"), _("Spirals"), NULL);
- gtk_box_pack_start (GTK_BOX (hb), c, FALSE, FALSE, 0);
- }
-
- g_object_set_data (G_OBJECT (vb), "shapes-pane", hb);
-
- gtk_box_pack_start (GTK_BOX (vb_all), hb, FALSE, FALSE, 0);
- gtk_widget_hide (hb);
- }
-
- {
- // TRANSLATORS: polyline is a set of connected straight line segments
- // http://www.w3.org/TR/SVG11/shapes.html#PolylineElement
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "paths", TRUE, _("Search paths, lines, polylines"), _("Paths"), NULL, 10);
- gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "texts", TRUE, _("Search text objects"), _("Texts"), NULL, 10);
- gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "groups", TRUE, _("Search groups"), _("Groups"), NULL, 10);
- gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "clones", TRUE, _("Search clones"),
- //TRANSLATORS: "Clones" is a noun indicating type of object to find
- C_("Find dialog","Clones"), NULL, 10);
- gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "images", TRUE, _("Search images"), _("Images"), NULL, 10);
- gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
- }
-
- {
- GtkWidget *c = sp_find_types_checkbox_indented (vb, "offsets", TRUE, _("Search offset objects"), _("Offsets"), NULL, 10);
- gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
- }
-
- gtk_box_pack_start (GTK_BOX (vb), vb_all, FALSE, FALSE, 0);
- g_object_set_data (G_OBJECT (vb), "all-pane", vb_all);
- gtk_widget_hide (vb_all);
- }
-
- return vb;
-}
-
-
/*
Local Variables:
mode:c++
diff --git a/src/libnrtype/font-lister.cpp b/src/libnrtype/font-lister.cpp
index 90900baba..5b495d14d 100644
--- a/src/libnrtype/font-lister.cpp
+++ b/src/libnrtype/font-lister.cpp
@@ -969,6 +969,17 @@ namespace Inkscape
}
// Helper functions
+
+// Separator function (if true, a separator will be drawn)
+gboolean font_lister_separator_func(GtkTreeModel *model,
+ GtkTreeIter *iter,
+ gpointer /*data*/)
+{
+ gchar* text = 0;
+ gtk_tree_model_get(model, iter, 0, &text, -1 ); // Column 0: FontList.family
+ return (text && strcmp(text,"#") == 0);
+}
+
void font_lister_cell_data_func(GtkCellLayout */*cell_layout*/,
GtkCellRenderer *cell,
GtkTreeModel *model,
@@ -1042,3 +1053,13 @@ void font_lister_cell_data_func(GtkCellLayout */*cell_layout*/,
g_object_set (G_OBJECT (cell), "markup", markup.c_str(), NULL);
}
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/libnrtype/font-lister.h b/src/libnrtype/font-lister.h
index 5c48bf7a8..5a8f578d9 100644
--- a/src/libnrtype/font-lister.h
+++ b/src/libnrtype/font-lister.h
@@ -296,13 +296,9 @@ namespace Inkscape
}
// Helper functions
-// Separator function (if true, a separator will be drawn)
-static gboolean font_lister_separator_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer /*data*/)
-{
- gchar* text = 0;
- gtk_tree_model_get(model, iter, 0, &text, -1 ); // Column 0: FontList.family
- return (text && strcmp(text,"#") == 0);
-}
+gboolean font_lister_separator_func(GtkTreeModel *model,
+ GtkTreeIter *iter,
+ gpointer /*data*/);
void font_lister_cell_data_func(GtkCellLayout */*cell_layout*/,
GtkCellRenderer *cell,
diff --git a/src/live_effects/lpe-dynastroke.cpp b/src/live_effects/lpe-dynastroke.cpp
index a5295d269..30ca5e2d6 100644
--- a/src/live_effects/lpe-dynastroke.cpp
+++ b/src/live_effects/lpe-dynastroke.cpp
@@ -26,30 +26,6 @@
namespace Inkscape {
namespace LivePathEffect {
-
-//----------------------------------------------------------
-//--- TODO: Test this and move to 2Geom --------------------
-//----------------------------------------------------------
-
-static
-std::vector<double>
-find_corners (Geom::Piecewise<Geom::D2<Geom::SBasis> > const &m){
- using namespace Geom;
- std::vector<double> output = std::vector<double>();
- Piecewise<D2<SBasis> > v = derivative(m);
- for (unsigned i=0; i<m.size()-1; i++){
- if ( m.segs[i].at1() == m.segs[i+1].at0() &&
- v.segs[i].at1() != v.segs[i+1].at0()){
- output.push_back(m.cuts[i+1]);
- }
- }
- return output;
-}
-
-//----------------------------------------------------------
-//----------------------------------------------------------
-//----------------------------------------------------------
-
//TODO: growfor/fadefor can be expressed in unit of width.
//TODO: make round/sharp end choices independant for start and end.
//TODO: define more styles like in calligtool.
diff --git a/src/spray-context.cpp b/src/spray-context.cpp
index 694e3a500..6a5684891 100644
--- a/src/spray-context.cpp
+++ b/src/spray-context.cpp
@@ -610,19 +610,6 @@ static void sp_spray_switch_mode(SPSprayContext *tc, gint mode, bool with_shift)
sp_spray_update_cursor(tc, with_shift);
}
-static void sp_spray_switch_mode_temporarily(SPSprayContext *tc, gint mode, bool with_shift)
-{
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- // Juggling about so that prefs have the old value but tc->mode and the button show new mode:
- gint now_mode = prefs->getInt("/tools/spray/mode", 0);
- SP_EVENT_CONTEXT(tc)->desktop->setToolboxSelectOneValue("spray_tool_mode", mode);
- // button has changed prefs, restore
- prefs->setInt("/tools/spray/mode", now_mode);
- // changing prefs changed tc->mode, restore back :)
- tc->mode = mode;
- sp_spray_update_cursor(tc, with_shift);
-}
-
gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *event)
{
SPSprayContext *tc = SP_SPRAY_CONTEXT(event_context);
diff --git a/src/ui/control-manager.cpp b/src/ui/control-manager.cpp
index b14f27b8b..9357a17ff 100644
--- a/src/ui/control-manager.cpp
+++ b/src/ui/control-manager.cpp
@@ -37,23 +37,11 @@ ControlFlags operator |(ControlFlags lhs, ControlFlags rhs)
return static_cast<ControlFlags>(static_cast<int>(lhs) | static_cast<int>(rhs));
}
-ControlFlags& operator |=(ControlFlags &lhs, ControlFlags rhs)
-{
- lhs = lhs | rhs;
- return lhs;
-}
-
ControlFlags operator &(ControlFlags lhs, ControlFlags rhs)
{
return static_cast<ControlFlags>(static_cast<int>(lhs) & static_cast<int>(rhs));
}
-ControlFlags& operator &=(ControlFlags &lhs, ControlFlags rhs)
-{
- lhs = lhs & rhs;
- return lhs;
-}
-
ControlFlags operator ^(ControlFlags lhs, ControlFlags rhs)
{
return static_cast<ControlFlags>(static_cast<int>(lhs) ^ static_cast<int>(rhs));
diff --git a/src/ui/widget/layer-selector.cpp b/src/ui/widget/layer-selector.cpp
index fbb9c0e24..7b1a8dbfb 100644
--- a/src/ui/widget/layer-selector.cpp
+++ b/src/ui/widget/layer-selector.cpp
@@ -163,17 +163,6 @@ LayerSelector::~LayerSelector() {
_selection_changed_connection.disconnect();
}
-namespace {
-
-/** Helper function - detaches desktop from selector
- */
-bool detach(LayerSelector *selector) {
- selector->setDesktop(NULL);
- return FALSE;
-}
-
-}
-
/** Sets the desktop for the widget. First disconnects signals
* for the current desktop, then stores the pointer to the
* given \a desktop, and attaches its signals to this one.
diff --git a/src/xml/repr-util.cpp b/src/xml/repr-util.cpp
index 7e9f9c484..6ea20b87a 100644
--- a/src/xml/repr-util.cpp
+++ b/src/xml/repr-util.cpp
@@ -69,71 +69,6 @@ static void sp_xml_ns_register_defaults();
static char *sp_xml_ns_auto_prefix(char const *uri);
/*#####################
-# UTILITY
-#####################*/
-
-/**
- * Locale-independent double to string conversion
- */
-static unsigned int sp_xml_dtoa(gchar *buf, double val, unsigned int tprec, unsigned int fprec, unsigned int padf)
-{
- double dival, fval, epsilon;
- int idigits, ival, i;
- i = 0;
- if (val < 0.0) {
- buf[i++] = '-';
- val = -val;
- }
- /* Determine number of integral digits */
- if (val >= 1.0) {
- idigits = (int) floor(log10(val));
- } else {
- idigits = 0;
- }
- /* Determine the actual number of fractional digits */
- fprec = MAX(fprec, tprec - idigits);
- /* Find epsilon */
- epsilon = 0.5 * pow(10.0, - (double) fprec);
- /* Round value */
- val += epsilon;
- /* Extract integral and fractional parts */
- dival = floor(val);
- ival = (int) dival;
- fval = val - dival;
- /* Write integra */
- if (ival > 0) {
- char c[32];
- int j;
- j = 0;
- while (ival > 0) {
- c[32 - (++j)] = '0' + (ival % 10);
- ival /= 10;
- }
- memcpy(buf + i, &c[32 - j], j);
- i += j;
- tprec -= j;
- } else {
- buf[i++] = '0';
- tprec -= 1;
- }
- if ((fprec > 0) && (padf || (fval > epsilon))) {
- buf[i++] = '.';
- while ((fprec > 0) && (padf || (fval > epsilon))) {
- fval *= 10.0;
- dival = floor(fval);
- fval -= dival;
- buf[i++] = '0' + (int) dival;
- fprec -= 1;
- }
-
- }
- buf[i] = 0;
- return i;
-}
-
-
-
-/*#####################
# MAIN
#####################*/