[gjs] xulrunner2: Get rid of gjs_string_get_ascii



commit 60ae0e25d58feb93f76c39aa84ffb49046a4f91e
Author: Marc-Antoine Perennou <Marc-Antoine Perennou com>
Date:   Tue Nov 30 18:29:02 2010 +0100

    xulrunner2: Get rid of gjs_string_get_ascii
    
    In xulrunner2, JS_GetStringBytes has been removed, we will now always need a context.
    We won't be able to use gjs_string_get_ascii anymore, port each call to it to gjs_string_get_ascii_checked
    Btw, rename gjs_string_get_ascii_checked to gjs_string_get_ascii
    
    https://bugzilla.gnome.org/show_bug.cgi?id=635707

 gi/object.c             |    4 ++--
 gi/repo.c               |    2 +-
 gjs/byteArray.c         |    4 ++--
 gjs/jsapi-util-string.c |   25 +++----------------------
 gjs/jsapi-util.c        |    2 +-
 gjs/jsapi-util.h        |    3 +--
 gjs/native.c            |    2 +-
 modules/dbus-exports.c  |   14 +++++++-------
 modules/dbus-values.c   |    2 +-
 modules/dbus.c          |   30 +++++++++++++++---------------
 10 files changed, 34 insertions(+), 54 deletions(-)
---
diff --git a/gi/object.c b/gi/object.c
index ffa4fa6..04c3073 100644
--- a/gi/object.c
+++ b/gi/object.c
@@ -889,7 +889,7 @@ real_connect_func(JSContext *context,
         return JS_FALSE;
     }
 
-    signal_name = gjs_string_get_ascii_checked(context, argv[0]);
+    signal_name = gjs_string_get_ascii(context, argv[0]);
     if (signal_name == NULL) {
         return JS_FALSE;
     }
@@ -1017,7 +1017,7 @@ emit_func(JSContext *context,
         return JS_FALSE;
     }
 
-    signal_name = gjs_string_get_ascii_checked(context,
+    signal_name = gjs_string_get_ascii(context,
                                                   argv[0]);
     if (signal_name == NULL)
         return JS_FALSE;
diff --git a/gi/repo.c b/gi/repo.c
index 7d3bbbc..a103c6d 100644
--- a/gi/repo.c
+++ b/gi/repo.c
@@ -78,7 +78,7 @@ resolve_namespace_object(JSContext  *context,
     version = NULL;
     if (JS_GetProperty(context, versions, ns_name, &version_val) &&
         JSVAL_IS_STRING(version_val)) {
-        version = gjs_string_get_ascii(version_val);
+        version = gjs_string_get_ascii(context, version_val);
     }
 
     repo = g_irepository_get_default();
diff --git a/gjs/byteArray.c b/gjs/byteArray.c
index b00be17..f8b650f 100644
--- a/gjs/byteArray.c
+++ b/gjs/byteArray.c
@@ -514,7 +514,7 @@ to_string_func(JSContext *context,
     encoding_is_utf8 = TRUE;
     if (argc >= 1 &&
         JSVAL_IS_STRING(argv[0])) {
-        encoding = gjs_string_get_ascii_checked(context, argv[0]);
+        encoding = gjs_string_get_ascii(context, argv[0]);
         if (encoding == NULL)
             return JS_FALSE;
 
@@ -634,7 +634,7 @@ from_string_func(JSContext *context,
     encoding_is_utf8 = TRUE;
     if (argc > 1 &&
         JSVAL_IS_STRING(argv[1])) {
-        encoding = gjs_string_get_ascii_checked(context, argv[1]);
+        encoding = gjs_string_get_ascii(context, argv[1]);
         if (encoding == NULL)
             goto out;
 
diff --git a/gjs/jsapi-util-string.c b/gjs/jsapi-util-string.c
index 1934097..32d7166 100644
--- a/gjs/jsapi-util-string.c
+++ b/gjs/jsapi-util-string.c
@@ -238,25 +238,6 @@ gjs_string_from_filename(JSContext  *context,
 
 /**
  * gjs_string_get_ascii:
- * @value: a jsval
- *
- * Get the char array in the JSString contained in @value.
- * The string is expected to be encoded in ASCII, otherwise
- * you will get garbage out. See the documentation for
- * JS_GetStringBytes() for more details.
- *
- * Returns: an ASCII C string
- **/
-const char*
-gjs_string_get_ascii(jsval value)
-{
-    g_return_val_if_fail(JSVAL_IS_STRING(value), NULL);
-
-    return JS_GetStringBytes(JSVAL_TO_STRING(value));
-}
-
-/**
- * gjs_string_get_ascii_checked:
  * @context: a JSContext
  * @value: a jsval
  *
@@ -267,7 +248,7 @@ gjs_string_get_ascii(jsval value)
  * Returns: an ASCII C string or %NULL on error
  **/
 const char*
-gjs_string_get_ascii_checked(JSContext       *context,
+gjs_string_get_ascii(JSContext       *context,
                              jsval            value)
 {
     if (!JSVAL_IS_STRING(value)) {
@@ -517,9 +498,9 @@ gjstest_test_func_gjs_jsapi_util_string_get_ascii(void)
     context = fixture.context;
 
     js_string = JS_NewStringCopyZ(context, ascii_string);
-    g_assert(g_str_equal(gjs_string_get_ascii(STRING_TO_JSVAL(js_string)), ascii_string));
+    g_assert(g_str_equal(gjs_string_get_ascii(context, STRING_TO_JSVAL(js_string)), ascii_string));
     void_value = JSVAL_VOID;
-    g_assert(gjs_string_get_ascii_checked(context, void_value) == NULL);
+    g_assert(gjs_string_get_ascii(context, void_value) == NULL);
     g_assert(JS_IsExceptionPending(context));
 
     _gjs_unit_test_fixture_finish(&fixture);
diff --git a/gjs/jsapi-util.c b/gjs/jsapi-util.c
index 4695ec0..11c890a 100644
--- a/gjs/jsapi-util.c
+++ b/gjs/jsapi-util.c
@@ -1128,7 +1128,7 @@ log_prop(JSContext  *context,
     if (JSVAL_IS_STRING(id)) {
         const char *name;
 
-        name = gjs_string_get_ascii(id);
+        name = gjs_string_get_ascii(context, id);
         gjs_debug(GJS_DEBUG_PROPS,
                   "prop %s: %s",
                   name, what);
diff --git a/gjs/jsapi-util.h b/gjs/jsapi-util.h
index b4a07ef..424cded 100644
--- a/gjs/jsapi-util.h
+++ b/gjs/jsapi-util.h
@@ -311,8 +311,7 @@ JSBool      gjs_string_from_filename         (JSContext       *context,
                                               const char      *filename_string,
                                               gssize           n_bytes,
                                               jsval           *value_p);
-const char* gjs_string_get_ascii             (jsval            value);
-const char* gjs_string_get_ascii_checked     (JSContext       *context,
+const char* gjs_string_get_ascii             (JSContext       *context,
                                               jsval            value);
 JSBool      gjs_string_get_binary_data       (JSContext       *context,
                                               jsval            value,
diff --git a/gjs/native.c b/gjs/native.c
index 48175e3..3d97d70 100644
--- a/gjs/native.c
+++ b/gjs/native.c
@@ -141,7 +141,7 @@ gjs_import_native_module(JSContext        *context,
         if (gjs_object_get_property(context, parent, "__moduleName__", &value) &&
             JSVAL_IS_STRING(value)) {
             const char *name;
-            name = gjs_string_get_ascii(value);
+            name = gjs_string_get_ascii(context, value);
 
             if (module_id->len > 0)
                 g_string_prepend(module_id, ".");
diff --git a/modules/dbus-exports.c b/modules/dbus-exports.c
index bd86ac8..0d8d9f3 100644
--- a/modules/dbus-exports.c
+++ b/modules/dbus-exports.c
@@ -161,7 +161,7 @@ dbus_reply_from_exception_and_sender(JSContext    *context,
     if (JSVAL_IS_OBJECT(exc) &&
         gjs_object_get_property(context, JSVAL_TO_OBJECT(exc),
                                 "dbusErrorName", &nameval))
-        name = gjs_string_get_ascii_checked(context, nameval);
+        name = gjs_string_get_ascii(context, nameval);
 
     if (!gjs_log_exception(context, &s))
         return JS_FALSE;
@@ -204,7 +204,7 @@ signature_from_method(JSContext   *context,
     if (gjs_object_get_property(context,
                                 method_obj, "outSignature",
                                 &signature_value)) {
-        *signature = gjs_string_get_ascii_checked(context,
+        *signature = gjs_string_get_ascii(context,
                                                   signature_value);
         if (*signature == NULL) {
             return JS_FALSE;
@@ -408,7 +408,7 @@ async_call_callback(JSContext *context,
         gjs_log_and_keep_exception(context, NULL);
         return JS_FALSE;
     }
-    sender = gjs_string_get_ascii_checked(context, prop_value);
+    sender = gjs_string_get_ascii(context, prop_value);
     if (!sender)
         return JS_FALSE;
 
@@ -444,7 +444,7 @@ async_call_callback(JSContext *context,
         thrown = TRUE;
         goto out;
     }
-    signature = gjs_string_get_ascii_checked(context, prop_value);
+    signature = gjs_string_get_ascii(context, prop_value);
     if (!signature)
         return JS_FALSE;
 
@@ -834,7 +834,7 @@ unpack_property_details(JSContext       *context,
         return JS_FALSE;
     }
 
-    name = gjs_string_get_ascii_checked(context,
+    name = gjs_string_get_ascii(context,
                                         name_val);
     if (name == NULL) {
         return JS_FALSE;
@@ -850,7 +850,7 @@ unpack_property_details(JSContext       *context,
         return JS_FALSE;
     }
 
-    signature = gjs_string_get_ascii_checked(context,
+    signature = gjs_string_get_ascii(context,
                                              signature_val);
     if (signature == NULL) {
         return JS_FALSE;
@@ -866,7 +866,7 @@ unpack_property_details(JSContext       *context,
         return JS_FALSE;
     }
 
-    access = gjs_string_get_ascii_checked(context,
+    access = gjs_string_get_ascii(context,
                                           access_val);
     if (access == NULL) {
         return JS_FALSE;
diff --git a/modules/dbus-values.c b/modules/dbus-values.c
index 2b23ca0..2d94c4a 100644
--- a/modules/dbus-values.c
+++ b/modules/dbus-values.c
@@ -807,7 +807,7 @@ append_dict(JSContext         *context,
                                     JSVAL_TO_OBJECT(prop_signatures),
                                     name, &signature_value);
             if (signature_value != JSVAL_VOID) {
-                value_signature = gjs_string_get_ascii_checked(context,
+                value_signature = gjs_string_get_ascii(context,
                                                                signature_value);
                 if (value_signature == NULL) {
                     return JS_FALSE;
diff --git a/modules/dbus.c b/modules/dbus.c
index 0ab3c79..f93f7ff 100644
--- a/modules/dbus.c
+++ b/modules/dbus.c
@@ -134,31 +134,31 @@ prepare_call(JSContext   *context,
     if (!bus_check(context, bus_type))
         return NULL;
 
-    bus_name = gjs_string_get_ascii_checked(context, argv[0]);
+    bus_name = gjs_string_get_ascii(context, argv[0]);
     if (bus_name == NULL)
         return NULL;
 
-    path = gjs_string_get_ascii_checked(context, argv[1]);
+    path = gjs_string_get_ascii(context, argv[1]);
     if (path == NULL)
         return NULL;
 
     if (JSVAL_IS_NULL(argv[2])) {
         interface = NULL;
     } else {
-        interface = gjs_string_get_ascii_checked(context, argv[2]);
+        interface = gjs_string_get_ascii(context, argv[2]);
         if (interface == NULL)
             return NULL; /* exception was set */
     }
 
-    method = gjs_string_get_ascii_checked(context, argv[3]);
+    method = gjs_string_get_ascii(context, argv[3]);
     if (method == NULL)
         return NULL;
 
-    out_signature = gjs_string_get_ascii_checked(context, argv[4]);
+    out_signature = gjs_string_get_ascii(context, argv[4]);
     if (out_signature == NULL)
         return NULL;
 
-    in_signature = gjs_string_get_ascii_checked(context, argv[5]);
+    in_signature = gjs_string_get_ascii(context, argv[5]);
     if (in_signature == NULL)
         return NULL;
 
@@ -447,7 +447,7 @@ fill_with_null_or_string(JSContext *context, const char **string_p, jsval value)
     if (JSVAL_IS_NULL(value))
         *string_p = NULL;
     else {
-        *string_p = gjs_string_get_ascii_checked(context, value);
+        *string_p = gjs_string_get_ascii(context, value);
         if (!*string_p)
             return JS_FALSE;
     }
@@ -878,16 +878,16 @@ gjs_js_dbus_emit_signal(JSContext  *context,
     if (!get_bus_type_from_object(context, obj, &bus_type))
         return JS_FALSE;
 
-    object_path = gjs_string_get_ascii_checked(context, argv[0]);
+    object_path = gjs_string_get_ascii(context, argv[0]);
     if (!object_path)
         return JS_FALSE;
-    iface = gjs_string_get_ascii_checked(context, argv[1]);
+    iface = gjs_string_get_ascii(context, argv[1]);
     if (!iface)
         return JS_FALSE;
-    signal = gjs_string_get_ascii_checked(context, argv[2]);
+    signal = gjs_string_get_ascii(context, argv[2]);
     if (!signal)
         return JS_FALSE;
-    in_signature = gjs_string_get_ascii_checked(context, argv[3]);
+    in_signature = gjs_string_get_ascii(context, argv[3]);
     if (!in_signature)
         return JS_FALSE;
 
@@ -1134,7 +1134,7 @@ gjs_js_dbus_acquire_name(JSContext  *context,
     if (!get_bus_type_from_object(context, obj, &bus_type))
         return JS_FALSE;
 
-    bus_name = gjs_string_get_ascii_checked(context, argv[0]);
+    bus_name = gjs_string_get_ascii(context, argv[0]);
     if (bus_name == NULL)
         return JS_FALSE;
 
@@ -1369,7 +1369,7 @@ gjs_js_dbus_watch_name(JSContext  *context,
     if (!get_bus_type_from_object(context, obj, &bus_type))
         return JS_FALSE;
 
-    bus_name = gjs_string_get_ascii_checked(context, argv[0]);
+    bus_name = gjs_string_get_ascii(context, argv[0]);
     if (bus_name == NULL)
         return JS_FALSE;
 
@@ -1482,7 +1482,7 @@ gjs_js_dbus_signature_length(JSContext  *context,
         return JS_FALSE;
     }
 
-    signature = gjs_string_get_ascii_checked(context, argv[0]);
+    signature = gjs_string_get_ascii(context, argv[0]);
     if (signature == NULL)
         return JS_FALSE;
 
@@ -1523,7 +1523,7 @@ gjs_js_dbus_start_service(JSContext  *context,
         return JS_FALSE;
     }
 
-    name = gjs_string_get_ascii_checked(context, argv[0]);
+    name = gjs_string_get_ascii(context, argv[0]);
     if (!name)
         return JS_FALSE;
 



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