Reviewed-by: Jeremy Huddleston <[email protected]>

On Dec 3, 2010, at 21:09, Alan Coopersmith wrote:

> Signed-off-by: Alan Coopersmith <[email protected]>
> ---
> config/hal.c                       |    4 ++-
> config/udev.c                      |   14 ++++++-----
> dix/dixfonts.c                     |    4 ++-
> hw/xfree86/common/xf86AutoConfig.c |    4 +-
> hw/xfree86/common/xf86Config.c     |    9 +++----
> hw/xfree86/common/xf86Helper.c     |   10 ++++++--
> hw/xfree86/modes/xf86Modes.c       |    4 +-
> hw/xwin/win.h                      |    7 +++--
> hw/xwin/windialogs.c               |    5 +--
> hw/xwin/winerror.c                 |   24 ++++++++++++-------
> xkb/ddxList.c                      |   43 ++++++++++++++++++++++-------------
> xkb/ddxLoad.c                      |   19 +++++++++------
> 12 files changed, 88 insertions(+), 59 deletions(-)
> 
> diff --git a/config/hal.c b/config/hal.c
> index 6e2850c..5e35911 100644
> --- a/config/hal.c
> +++ b/config/hal.c
> @@ -200,7 +200,9 @@ device_added(LibHalContext *hal_ctx, const char *udi)
>                        "config/hal: getting usb.product_id on %s "
>                        "returned %04x\n", parent, usb_product);
>         if (usb_vendor && usb_product)
> -            attrs.usb_id = Xprintf("%04x:%04x", usb_vendor, usb_product);
> +            if (asprintf(&attrs.usb_id, "%04x:%04x", usb_vendor, usb_product)
> +             == -1)
> +             attrs.usb_id = NULL;
> 
>         free(parent);
>     }
> diff --git a/config/udev.c b/config/udev.c
> index 31f4f80..496bfbf 100644
> --- a/config/udev.c
> +++ b/config/udev.c
> @@ -108,8 +108,10 @@ device_added(struct udev_device *udev_device)
> 
>         /* construct USB ID in lowercase hex - "0000:ffff" */
>         if (product && sscanf(product, "%*x/%4x/%4x/%*x", &usb_vendor, 
> &usb_model) == 2) {
> -            attrs.usb_id = Xprintf("%04x:%04x", usb_vendor, usb_model);
> -            if (attrs.usb_id)
> +            if (asprintf(&attrs.usb_id, "%04x:%04x", usb_vendor, usb_model)
> +                == -1)
> +                attrs.usb_id = NULL;
> +            else
>                 LOG_PROPERTY(path, "PRODUCT", product);
>         }
>     }
> @@ -127,9 +129,10 @@ device_added(struct udev_device *udev_device)
>     LOG_PROPERTY(path, "ID_INPUT.tags", tags_prop);
>     attrs.tags = xstrtokenize(tags_prop, ",");
> 
> -    config_info = Xprintf("udev:%s", syspath);
> -    if (!config_info)
> +    if (asprintf(&config_info, "udev:%s", syspath) == -1) {
> +        config_info = NULL;
>         goto unwind;
> +    }
> 
>     if (device_is_duplicate(config_info)) {
>         LogMessage(X_WARNING, "config/udev: device %s already added. "
> @@ -217,8 +220,7 @@ device_removed(struct udev_device *device)
>     char *value;
>     const char *syspath = udev_device_get_syspath(device);
> 
> -    value = Xprintf("udev:%s", syspath);
> -    if (!value)
> +    if (asprintf(&value, "udev:%s", syspath) == -1)
>         return;
> 
>     remove_devices("udev", value);
> diff --git a/dix/dixfonts.c b/dix/dixfonts.c
> index ccb4627..bd1ad30 100644
> --- a/dix/dixfonts.c
> +++ b/dix/dixfonts.c
> @@ -1817,7 +1817,9 @@ SetDefaultFontPath(char *path)
>       start = end;
>     }
>     if (!start) {
> -     temp_path = Xprintf("%s%sbuilt-ins", path, *path ? "," : "");
> +     if (asprintf(&temp_path, "%s%sbuilt-ins", path, *path ? "," : "")
> +         == -1)
> +         temp_path = NULL;
>     } else {
>       temp_path = strdup(path);
>     }
> diff --git a/hw/xfree86/common/xf86AutoConfig.c 
> b/hw/xfree86/common/xf86AutoConfig.c
> index 3cd5ef6..eb61f87 100644
> --- a/hw/xfree86/common/xf86AutoConfig.c
> +++ b/hw/xfree86/common/xf86AutoConfig.c
> @@ -297,8 +297,8 @@ copyScreen(confScreenPtr oscreen, GDevPtr odev, int i, 
> char *driver)
>     }
>     memcpy(cptr, odev, sizeof(GDevRec));
> 
> -    cptr->identifier = Xprintf("Autoconfigured Video Device %s", driver);
> -    if (!cptr->identifier) {
> +    if (asprintf(&cptr->identifier, "Autoconfigured Video Device %s", driver)
> +        == -1) {
>         free(cptr);
>         free(nscreen);
>         return FALSE;
> diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
> index 5800700..94300c2 100644
> --- a/hw/xfree86/common/xf86Config.c
> +++ b/hw/xfree86/common/xf86Config.c
> @@ -585,12 +585,11 @@ configFiles(XF86ConfFilesPtr fileconf)
>     else if (fileconf && fileconf->file_fontpath) {
>       pathFrom = X_CONFIG;
>       if (xf86Info.useDefaultFontPath) {
> -         defaultFontPath = Xprintf("%s%s%s",
> -                                   fileconf->file_fontpath,
> -                                   *temp_path ? "," : "", temp_path);
> -         if (defaultFontPath != NULL) {
> +         if (asprintf(&defaultFontPath, "%s%s%s", fileconf->file_fontpath,
> +                      *temp_path ? "," : "", temp_path) == -1)
> +             defaultFontPath = NULL;
> +         else
>               must_copy = FALSE;
> -         }
>       }
>       else
>           defaultFontPath = fileconf->file_fontpath;
> diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
> index ea0acbf..30185c8 100644
> --- a/hw/xfree86/common/xf86Helper.c
> +++ b/hw/xfree86/common/xf86Helper.c
> @@ -1189,9 +1189,13 @@ xf86VIDrvMsgVerb(InputInfoPtr dev, MessageType type, 
> int verb, const char *forma
> {
>     char *msg;
> 
> -    msg = Xprintf("%s: %s: %s", dev->drv->driverName, dev->name, format);
> -    LogVMessageVerb(type, verb, msg, args);
> -    free(msg);
> +    if (asprintf(&msg, "%s: %s: %s", dev->drv->driverName, dev->name, format)
> +     == -1) {
> +     LogVMessageVerb(type, verb, "%s", args);
> +    } else {
> +     LogVMessageVerb(type, verb, msg, args);
> +     free(msg);
> +    }
> }
> 
> /* Print input driver message, with verbose level specified directly */
> diff --git a/hw/xfree86/modes/xf86Modes.c b/hw/xfree86/modes/xf86Modes.c
> index 51eb4c9..75584cf 100644
> --- a/hw/xfree86/modes/xf86Modes.c
> +++ b/hw/xfree86/modes/xf86Modes.c
> @@ -132,8 +132,8 @@ xf86SetModeDefaultName(DisplayModePtr mode)
> 
>     free(mode->name);
> 
> -    mode->name = XNFprintf("%dx%d%s", mode->HDisplay, mode->VDisplay,
> -                        interlaced ? "i" : "");
> +    XNFasprintf(&mode->name, "%dx%d%s", mode->HDisplay, mode->VDisplay,
> +             interlaced ? "i" : "");
> }
> 
> /*
> diff --git a/hw/xwin/win.h b/hw/xwin/win.h
> index f22a2d5..4430781 100644
> --- a/hw/xwin/win.h
> +++ b/hw/xwin/win.h
> @@ -221,9 +221,10 @@ if (fDebugProcMsg) \
> { \
>   char *pszTemp; \
>   int iLength; \
> -  pszTemp = Xprintf (str, ##__VA_ARGS__); \
> -  MessageBox (NULL, pszTemp, szFunctionName, MB_OK); \
> -  free(pszTemp); \
> +  if (asprintf (&pszTemp, str, ##__VA_ARGS__) != -1) { \
> +    MessageBox (NULL, pszTemp, szFunctionName, MB_OK); \
> +    free (pszTemp); \
> +  } \
> }
> #else
> #define DEBUG_MSG(str,...)
> diff --git a/hw/xwin/windialogs.c b/hw/xwin/windialogs.c
> index 22d8cd7..679b3fa 100644
> --- a/hw/xwin/windialogs.c
> +++ b/hw/xwin/windialogs.c
> @@ -341,11 +341,10 @@ winExitDlgProc (HWND hDialog, UINT message,
>       winInitDialog (hDialog);
> 
>       /* Format the connected clients string */
> -     pszConnectedClients = Xprintf (CONNECTED_CLIENTS_FORMAT,
> +     if (asprintf (&pszConnectedClients, CONNECTED_CLIENTS_FORMAT,
>            (s_pScreenPriv->iConnectedClients == 1) ? "is" : "are",
>             s_pScreenPriv->iConnectedClients,
> -           (s_pScreenPriv->iConnectedClients == 1) ? "" : "s");
> -     if (!pszConnectedClients)
> +           (s_pScreenPriv->iConnectedClients == 1) ? "" : "s") == -1)
>           return TRUE;
> 
> 
> diff --git a/hw/xwin/winerror.c b/hw/xwin/winerror.c
> index aadfd28..5e32d09 100644
> --- a/hw/xwin/winerror.c
> +++ b/hw/xwin/winerror.c
> @@ -101,12 +101,15 @@ winMessageBoxF (const char *pszError, UINT uType, ...)
>   char *      pszErrorF = NULL;
>   char *      pszMsgBox = NULL;
>   va_list     args;
> +  int                size;
> 
>   va_start(args, uType);
> -  pszErrorF = Xvprintf(pszError, args);
> +  size = vasprintf (&pszErrorF, pszError, args);
>   va_end(args);
> -  if (!pszErrorF)
> +  if (size == -1) {
> +    pszErrorF = NULL;
>     goto winMessageBoxF_Cleanup;
> +  }
> 
> #define MESSAGEBOXF \
>       "%s\n" \
> @@ -117,15 +120,18 @@ winMessageBoxF (const char *pszError, UINT uType, ...)
>       "XWin was started with the following command-line:\n\n" \
>       "%s\n"
> 
> -  pszMsgBox = Xprintf (MESSAGEBOXF,
> -                       pszErrorF, XVENDORNAME,
> -                    XORG_VERSION_MAJOR, XORG_VERSION_MINOR, 
> XORG_VERSION_PATCH, XORG_VERSION_SNAP, XORG_VERSION_CURRENT,
> -                    BUILDERADDR,
> -                    BUILDERSTRING,
> -                    g_pszCommandLine);
> +  size = asprintf (&pszMsgBox, MESSAGEBOXF,
> +                pszErrorF, XVENDORNAME,
> +                XORG_VERSION_MAJOR, XORG_VERSION_MINOR, XORG_VERSION_PATCH,
> +                 XORG_VERSION_SNAP, XORG_VERSION_CURRENT,
> +                BUILDERADDR,
> +                BUILDERSTRING,
> +                g_pszCommandLine);
> 
> -  if (!pszMsgBox)
> +  if (size == -1) {
> +    pszMsgBox = NULL;
>     goto winMessageBoxF_Cleanup;
> +  }
> 
>   /* Display the message box string */
>   MessageBox (NULL,
> diff --git a/xkb/ddxList.c b/xkb/ddxList.c
> index c1ada5c..9623cb6 100644
> --- a/xkb/ddxList.c
> +++ b/xkb/ddxList.c
> @@ -156,34 +156,45 @@ char    tmpname[PATH_MAX];
> #endif
>     if (XkbBaseDirectory!=NULL) {
>       if ((list->pattern[what][0]=='*')&&(list->pattern[what][1]=='\0')) {
> -         buf = Xprintf("%s/%s.dir",XkbBaseDirectory,componentDirs[what]);
> -         in= fopen(buf,"r");
> +         if (asprintf(&buf, "%s/%s.dir", XkbBaseDirectory,
> +                      componentDirs[what]) == -1)
> +             buf = NULL;
> +         else
> +             in = fopen(buf,"r");
>       }
>       if (!in) {
>           haveDir= FALSE;
>           free(buf);
> -         buf = Xprintf(
> -             "'%s/xkbcomp' '-R%s/%s' -w %ld -l -vlfhpR '%s'" W32_tmparg,
> -                XkbBinDirectory,XkbBaseDirectory,componentDirs[what],(long)
> -             ((xkbDebugFlags<2)?1:((xkbDebugFlags>10)?10:xkbDebugFlags)),
> -             file W32_tmpfile
> -                );
> +         if (asprintf
> +             (&buf,
> +              "'%s/xkbcomp' '-R%s/%s' -w %ld -l -vlfhpR '%s'" W32_tmparg,
> +              XkbBinDirectory, XkbBaseDirectory, componentDirs[what],
> +              (long) ((xkbDebugFlags < 2) ? 1 :
> +                      ((xkbDebugFlags > 10) ? 10 : xkbDebugFlags)),
> +              file W32_tmpfile
> +                 ) == -1)
> +             buf = NULL;
>       }
>     }
>     else {
>       if ((list->pattern[what][0]=='*')&&(list->pattern[what][1]=='\0')) {
> -         buf = Xprintf("%s.dir",componentDirs[what]);
> -         in= fopen(buf,"r");
> +         if (asprintf(&buf, "%s.dir", componentDirs[what]) == -1)
> +             buf = NULL;
> +         else
> +             in = fopen(buf,"r");
>       }
>       if (!in) {
>           haveDir= FALSE;
>           free(buf);
> -         buf = Xprintf(
> -             "xkbcomp -R%s -w %ld -l -vlfhpR '%s'" W32_tmparg,
> -                componentDirs[what],(long)
> -             ((xkbDebugFlags<2)?1:((xkbDebugFlags>10)?10:xkbDebugFlags)),
> -             file W32_tmpfile
> -                );
> +         if (asprintf
> +             (&buf,
> +              "xkbcomp -R%s -w %ld -l -vlfhpR '%s'" W32_tmparg,
> +              componentDirs[what],
> +              (long) ((xkbDebugFlags < 2) ? 1 :
> +                      ((xkbDebugFlags > 10) ? 10 : xkbDebugFlags)),
> +              file W32_tmpfile
> +                 ) == -1)
> +             buf = NULL;
>       }
>     }
>     status= Success;
> diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
> index cfc6198..e6904a5 100644
> --- a/xkb/ddxLoad.c
> +++ b/xkb/ddxLoad.c
> @@ -210,7 +210,8 @@ XkbDDXCompileKeymapByNames(       XkbDescPtr              
> xkb,
> #endif
> 
>     if (XkbBaseDirectory != NULL) {
> -     xkbbasedirflag = Xprintf("\"-R%s\"", XkbBaseDirectory);
> +     if (asprintf(&xkbbasedirflag, "\"-R%s\"", XkbBaseDirectory) == -1)
> +         xkbbasedirflag = NULL;
>     }
> 
>     if (XkbBinDirectory != NULL) {
> @@ -225,14 +226,16 @@ XkbDDXCompileKeymapByNames(     XkbDescPtr              
> xkb,
>       }
>     }
> 
> -    buf = Xprintf("\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" "
> +    if (asprintf(&buf,
> +              "\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" "
>                 "-em1 %s -emp %s -eml %s \"%s%s.xkm\"",
> -               xkbbindir, xkbbindirsep,
> -               ( (xkbDebugFlags < 2) ? 1 :
> -                 ((xkbDebugFlags > 10) ? 10 : (int)xkbDebugFlags) ),
> -               xkbbasedirflag ? xkbbasedirflag : "", xkmfile,
> -               PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1,
> -               xkm_output_dir, keymap);
> +              xkbbindir, xkbbindirsep,
> +              ((xkbDebugFlags < 2) ? 1 :
> +               ((xkbDebugFlags > 10) ? 10 : (int) xkbDebugFlags)),
> +              xkbbasedirflag ? xkbbasedirflag : "", xkmfile,
> +              PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1,
> +              xkm_output_dir, keymap) == -1)
> +     buf = NULL;
> 
>     free(xkbbasedirflag);
> 
> -- 
> 1.7.3.2
> 
> _______________________________________________
> [email protected]: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to