}
else
f[XLFD_AVGWIDTH_INDEX] = "*";
- len = snprintf (name, nbytes, "-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s",
- f[XLFD_FOUNDRY_INDEX], f[XLFD_FAMILY_INDEX],
- f[XLFD_WEIGHT_INDEX], f[XLFD_SLANT_INDEX],
- f[XLFD_SWIDTH_INDEX], f[XLFD_ADSTYLE_INDEX],
- f[XLFD_PIXEL_INDEX], f[XLFD_RESX_INDEX],
- f[XLFD_SPACING_INDEX], f[XLFD_AVGWIDTH_INDEX],
- f[XLFD_REGISTRY_INDEX]);
- return len < nbytes ? len : -1;
+ len = esnprintf (name, nbytes, "-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s-%s",
+ f[XLFD_FOUNDRY_INDEX], f[XLFD_FAMILY_INDEX],
+ f[XLFD_WEIGHT_INDEX], f[XLFD_SLANT_INDEX],
+ f[XLFD_SWIDTH_INDEX], f[XLFD_ADSTYLE_INDEX],
+ f[XLFD_PIXEL_INDEX], f[XLFD_RESX_INDEX],
+ f[XLFD_SPACING_INDEX], f[XLFD_AVGWIDTH_INDEX],
+ f[XLFD_REGISTRY_INDEX]);
+ return len == nbytes - 1 ? -1 : len;
}
/* Parse NAME (null terminated) and store information in FONT
p = name;
lim = name + nbytes;
-# define APPEND_SNPRINTF(args) \
- do { \
- int len = snprintf args; \
- if (! (0 <= len && len < lim - p)) \
- return -1; \
- p += len; \
- } while (0)
if (! NILP (family))
- APPEND_SNPRINTF ((p, lim - p, "%s", SSDATA (family)));
+ p += esnprintf (p, lim - p, "%s", SSDATA (family));
if (point_size > 0)
- APPEND_SNPRINTF ((p, lim - p, "-%d" + (p == name), point_size));
+ p += esnprintf (p, lim - p, "-%d" + (p == name), point_size);
else if (pixel_size > 0)
- APPEND_SNPRINTF ((p, lim - p, ":pixelsize=%d", pixel_size));
+ p += esnprintf (p, lim - p, ":pixelsize=%d", pixel_size);
if (! NILP (AREF (font, FONT_FOUNDRY_INDEX)))
- APPEND_SNPRINTF ((p, lim - p, ":foundry=%s",
- SSDATA (SYMBOL_NAME (AREF (font,
- FONT_FOUNDRY_INDEX)))));
+ p += esnprintf (p, lim - p, ":foundry=%s",
+ SSDATA (SYMBOL_NAME (AREF (font,
+ FONT_FOUNDRY_INDEX))));
for (i = 0; i < 3; i++)
if (! NILP (styles[i]))
- APPEND_SNPRINTF ((p, lim - p, ":%s=%s", style_names[i],
- SSDATA (SYMBOL_NAME (styles[i]))));
+ p += esnprintf (p, lim - p, ":%s=%s", style_names[i],
+ SSDATA (SYMBOL_NAME (styles[i])));
if (INTEGERP (AREF (font, FONT_DPI_INDEX)))
- APPEND_SNPRINTF ((p, lim - p, ":dpi=%"pI"d",
- XINT (AREF (font, FONT_DPI_INDEX))));
+ p += esnprintf (p, lim - p, ":dpi=%"pI"d",
+ XINT (AREF (font, FONT_DPI_INDEX)));
if (INTEGERP (AREF (font, FONT_SPACING_INDEX)))
- APPEND_SNPRINTF ((p, lim - p, ":spacing=%"pI"d",
- XINT (AREF (font, FONT_SPACING_INDEX))));
+ p += esnprintf (p, lim - p, ":spacing=%"pI"d",
+ XINT (AREF (font, FONT_SPACING_INDEX)));
if (INTEGERP (AREF (font, FONT_AVGWIDTH_INDEX)))
- APPEND_SNPRINTF ((p, lim - p,
- (XINT (AREF (font, FONT_AVGWIDTH_INDEX)) == 0
- ? ":scalable=true"
- : ":scalable=false")));
- return (p - name);
+ p += esnprintf (p, lim - p,
+ (XINT (AREF (font, FONT_AVGWIDTH_INDEX)) == 0
+ ? ":scalable=true"
+ : ":scalable=false"));
+ return lim - p == 1 ? -1 : p - name;
}
/* Parse NAME (null terminated) and store information in FONT
{
char buf[256];
- snprintf (buf, sizeof buf, "Connection lost to X server `%s'",
- DisplayString (display));
+ esnprintf (buf, sizeof buf, "Connection lost to X server `%s'",
+ DisplayString (display));
x_connection_closed (display, buf);
return 0;
}
atom_names[i] = (char *) atom_refs[i].name;
/* Build _XSETTINGS_SN atom name */
- snprintf (xsettings_atom_name, sizeof (xsettings_atom_name),
- "_XSETTINGS_S%d", XScreenNumberOfScreen (dpyinfo->screen));
+ sprintf (xsettings_atom_name,
+ "_XSETTINGS_S%d", XScreenNumberOfScreen (dpyinfo->screen));
atom_names[i] = xsettings_atom_name;
XInternAtoms (dpyinfo->display, atom_names, total_atom_count,