|
|
#include <sysdep.h>
#include "libjwgc.h"
#include "libxode.h"
Go to the source code of this file.
Defines | |
#define | iconv_t libiconv_t |
Typedefs | |
typedef void * | iconv_t |
Functions | |
iconv_t | iconv_open (const char *tocode, const char *fromcode) |
size_t | iconv (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft) |
int | iconv_close (iconv_t cd) |
const char * | locale_charset (void) |
char * | j_strdup (const char *str) |
char * | j_strcat (char *dest, char *txt) |
int | j_strcmp (const char *a, const char *b) |
int | j_strcasecmp (const char *a, const char *b) |
int | j_strncmp (const char *a, const char *b, int i) |
int | j_strncasecmp (const char *a, const char *b, int i) |
int | j_strlen (const char *a) |
int | j_atoi (const char *a, int def) |
void | trim_message (char *str) |
char * | spool_print (xode_spool s) |
char * | spools (xode_pool p,...) |
int | str_clear_unprintable (char *in, char **out) const |
int | str_to_unicode (char *in, char **out) const |
int | unicode_to_str (char *in, char **out) const |
|
Definition at line 52 of file JStr.c. Referenced by str_to_unicode(), and unicode_to_str(). |
|
|
|
Referenced by str_to_unicode(), and unicode_to_str(). |
|
Referenced by str_to_unicode(), and unicode_to_str(). |
|
Referenced by str_to_unicode(), and unicode_to_str(). |
|
Definition at line 141 of file JStr.c. 00142 { 00143 if (a == NULL) 00144 return def; 00145 else 00146 return atoi(a); 00147 }
|
|
Definition at line 105 of file JStr.c. References NULL. 00106 { 00107 if (a == NULL || b == NULL) 00108 return -1; 00109 else 00110 return strcasecmp(a, b); 00111 }
|
|
Definition at line 75 of file JStr.c. Referenced by spool_print(). 00076 { 00077 if (!txt) 00078 return (dest); 00079 00080 while (*txt) 00081 *dest++ = *txt++; 00082 *dest = '\0'; 00083 00084 return (dest); 00085 }
|
|
Definition at line 88 of file JStr.c. References NULL. Referenced by jabpacket_subtype(), and jabutil_regkey(). 00089 { 00090 if (a == NULL || b == NULL) 00091 return -1; 00092 00093 while (*a == *b && *a != '\0' && *b != '\0') { 00094 a++; 00095 b++; 00096 } 00097 00098 if (*a == *b) 00099 return 0; 00100 00101 return -1; 00102 }
|
|
Definition at line 66 of file JStr.c. 00067 { 00068 if (str == NULL) 00069 return NULL; 00070 else 00071 return strdup(str); 00072 }
|
|
Definition at line 132 of file JStr.c. 00133 { 00134 if (a == NULL) 00135 return 0; 00136 else 00137 return strlen(a); 00138 }
|
|
Definition at line 123 of file JStr.c. References NULL. 00124 { 00125 if (a == NULL || b == NULL) 00126 return -1; 00127 else 00128 return strncasecmp(a, b, i); 00129 }
|
|
Definition at line 114 of file JStr.c. References NULL. 00115 { 00116 if (a == NULL || b == NULL) 00117 return -1; 00118 else 00119 return strncmp(a, b, i); 00120 }
|
|
Referenced by str_to_unicode(), and unicode_to_str(). |
|
Definition at line 164 of file JStr.c. References xode_spool_node::c, xode_spool_struct::first, j_strcat(), xode_spool_struct::len, xode_spool_node::next, NULL, xode_spool_struct::p, xode_pool_malloc(), and xode_spool. Referenced by spools(). 00165 { 00166 char *ret, *tmp; 00167 struct xode_spool_node *next; 00168 00169 if (s == NULL || s->len == 0 || s->first == NULL) 00170 return NULL; 00171 00172 ret = xode_pool_malloc(s->p, s->len + 1); 00173 *ret = '\0'; 00174 00175 next = s->first; 00176 tmp = ret; 00177 while (next != NULL) { 00178 tmp = j_strcat(tmp, next->c); 00179 next = next->next; 00180 } 00181 00182 return ret; 00183 }
|
|
Definition at line 187 of file JStr.c. References spool_print(), xode_pool, xode_spool, xode_spool_add(), and xode_spool_newfrompool(). Referenced by xode2file(). 00188 { 00189 va_list ap; 00190 xode_spool s; 00191 char *arg = NULL; 00192 00193 if (p == NULL) 00194 return NULL; 00195 00196 s = xode_spool_newfrompool(p); 00197 00198 va_start(ap, p); 00199 00200 /* loop till we hit our end flag, the first arg */ 00201 while (1) { 00202 arg = va_arg(ap, char *); 00203 if ((xode_pool) arg == p) 00204 break; 00205 else 00206 xode_spool_add(s, arg); 00207 } 00208 00209 va_end(ap); 00210 00211 return spool_print(s); 00212 }
|
|
Definition at line 215 of file JStr.c. References dExecution, and dprintf(). Referenced by str_to_unicode(). 00218 { 00219 int i; 00220 00221 dprintf(dExecution, "Clearing unprintable characters...\n"); 00222 *out = (char *)malloc(sizeof(char) * (strlen(in) + 1)); 00223 for (i = 0; i < strlen(in); i++) { 00224 if (in[i] != '\n' && !isprint(in[i])) { 00225 (*out)[i] = ' '; 00226 } 00227 else { 00228 (*out)[i] = in[i]; 00229 } 00230 } 00231 00232 return 1; 00233 }
|
|
Definition at line 236 of file JStr.c. References dExecution, dprintf(), errno, iconv(), iconv_close(), iconv_open(), iconv_t, locale_charset(), and str_clear_unprintable(). Referenced by main(). 00239 { 00240 #ifdef HAVE_LIBICONV 00241 iconv_t ic; 00242 size_t ret; 00243 int inlen, outlen; 00244 char *inptr, *outbuf, *outptr; 00245 extern int errno; 00246 00247 dprintf(dExecution, "Converting localized string to unicode...\n"); 00248 ic = iconv_open("UTF-8", (char *)locale_charset()); 00249 if (ic == (iconv_t)-1) { 00250 return str_clear_unprintable(in, out); 00251 } 00252 00253 inptr = (char *)in; 00254 inlen = strlen(in); 00255 /* horrible handling of out buf sizing, fix me at some point */ 00256 outbuf = (char *)malloc(sizeof(char) * ((inlen * 4) + 1)); 00257 outbuf[0] = '\0'; 00258 outptr = outbuf; 00259 outlen = inlen; 00260 do { 00261 ret = iconv(ic, 00262 (const char **)&inptr, (size_t *)&inlen, 00263 (char **)&outptr, (size_t *)&outlen); 00264 if (ret == (size_t) -1) { 00265 if (errno == EINVAL) { 00266 continue; 00267 } 00268 } 00269 outptr[inlen] = '\0'; 00270 } while(inlen > 0); 00271 iconv_close(ic); 00272 00273 *out = outbuf; 00274 return 1; 00275 #else 00276 return str_clear_unprintable(in, out); 00277 #endif /* HAVE_LIBICONV */ 00278 }
|
|
Definition at line 150 of file JStr.c. References dExecution, and dprintf(). Referenced by jab_on_packet_handler(), and jwg_on_event_handler(). 00152 { 00153 int pos = strlen(str); 00154 00155 dprintf(dExecution, "Trim start position at %d.\n", pos); 00156 while (pos >= 0 && (isspace(str[pos]) || iscntrl(str[pos]))) { 00157 dprintf(dExecution, "Trimming position %d.\n", pos); 00158 str[pos] = '\0'; 00159 pos--; 00160 } 00161 }
|
|
Definition at line 281 of file JStr.c. References dExecution, dprintf(), errno, iconv(), iconv_close(), iconv_open(), iconv_t, and locale_charset(). Referenced by decode_notice(), and jab_on_packet_handler(). 00284 { 00285 #ifdef HAVE_LIBICONV 00286 iconv_t ic; 00287 size_t ret; 00288 int inlen, outlen; 00289 char *inptr, *outbuf, *outptr; 00290 extern int errno; 00291 00292 dprintf(dExecution, "Converting unicode to localized string...\n"); 00293 ic = iconv_open((char *)locale_charset(), "UTF-8"); 00294 if (ic == (iconv_t)-1) { 00295 *out = (char *)strdup(in); 00296 return 1; 00297 } 00298 00299 inptr = (char *)in; 00300 inlen = strlen(in); 00301 /* horrible handling of out buf sizing, fix me at some point */ 00302 outbuf = (char *)malloc(sizeof(char) * (inlen + 1)); 00303 outbuf[0] = '\0'; 00304 outptr = outbuf; 00305 outlen = inlen; 00306 do { 00307 ret = iconv(ic, 00308 (const char **)&inptr, (size_t *)&inlen, 00309 (char **)&outptr, (size_t *)&outlen); 00310 if (ret == (size_t) -1) { 00311 if (errno == EINVAL) { 00312 continue; 00313 } 00314 } 00315 outptr[inlen] = '\0'; 00316 } while(inlen > 0); 00317 iconv_close(ic); 00318 00319 *out = outbuf; 00320 return 1; 00321 #else 00322 return in; 00323 #endif /* HAVE_LIBICONV */ 00324 }
|
Last updated at Tue Dec 18 21:07:42 PST 2007. | This site and project hosted by... |