Re: [Vala] Genie and extra '\n' in some strings



Thank you for your reply, Abderrahim.

As you can see, in both cases the newline is added to a print'ed string,
so I guess it is intentional.

I think this is intentional, but I do not understand why it has been
applied. This seems unnecessary.

After compiling the functional equivalent of that program in Vala,
such additions do not occur.

Programs in C are the same except those strange extras in Genie version.


// hello.vala
public static void main (string[] args)
{
       var caption = "Hello World!\n";
       var hello = new HelloWorld ();
       var message = hello.say (caption);
       print ("Message: %s\n", message);
}

class HelloWorld : Object
{
       public string say (string greeting)
       {
               print (greeting);
               return "OK";
       }
}


// hello.c - vala version

...

void _vala_main (gchar** args, int args_length1) {
       gchar* _tmp0_;
       gchar* caption;
       HelloWorld* _tmp1_;
       HelloWorld* hello;
       gchar* _tmp2_ = NULL;
       gchar* message;
       _tmp0_ = g_strdup ("Hello World!\n");
       caption = _tmp0_;
       _tmp1_ = hello_world_new ();
       hello = _tmp1_;
       _tmp2_ = hello_world_say (hello, caption);
       message = _tmp2_;
       g_print ("Message: %s\n", message);
       _g_free0 (message);
       _g_object_unref0 (hello);
       _g_free0 (caption);
}

...

gchar* hello_world_say (HelloWorld* self, const gchar* greeting) {
       gchar* result = NULL;
       const gchar* _tmp0_;
       gchar* _tmp1_;
       g_return_val_if_fail (self != NULL, NULL);
       g_return_val_if_fail (greeting != NULL, NULL);
       _tmp0_ = greeting;
       g_print ("%s", _tmp0_);
       _tmp1_ = g_strdup ("OK");
       result = _tmp1_;
       return result;
}

...



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]