projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bug fix: insert didn't work on 8-bit characters due to unsigned char
[idzebra-moved-to-github.git]
/
dict
/
dictext.c
diff --git
a/dict/dictext.c
b/dict/dictext.c
index
ebace7a
..
6f8373d
100644
(file)
--- a/
dict/dictext.c
+++ b/
dict/dictext.c
@@
-4,7
+4,13
@@
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: dictext.c,v $
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: dictext.c,v $
- * Revision 1.3 1994-10-04 17:46:54 adam
+ * Revision 1.5 1996-01-31 21:03:59 adam
+ * Extra options.
+ *
+ * Revision 1.4 1995/09/04 12:33:31 adam
+ * Various cleanup. YAZ util used instead.
+ *
+ * Revision 1.3 1994/10/04 17:46:54 adam
* Function options now returns arg with error option.
*
* Revision 1.2 1994/09/28 13:07:08 adam
* Function options now returns arg with error option.
*
* Revision 1.2 1994/09/28 13:07:08 adam
@@
-21,7
+27,7
@@
#include <assert.h>
#include <ctype.h>
#include <assert.h>
#include <ctype.h>
-#include <util.h>
+#include <alexutil.h>
char *prog;
char *prog;
@@
-29,12
+35,13
@@
int main (int argc, char **argv)
{
char *arg;
int ret;
{
char *arg;
int ret;
+ int use8 = 0;
char *inputfile = NULL;
FILE *ipf = stdin;
char ipf_buf[1024];
prog = *argv;
char *inputfile = NULL;
FILE *ipf = stdin;
char ipf_buf[1024];
prog = *argv;
- while ((ret = options ("vh", argv, argc, &arg)) != -2)
+ while ((ret = options ("8vh", argv, argc, &arg)) != -2)
{
if (ret == 0)
{
{
if (ret == 0)
{
@@
-42,7
+49,7
@@
int main (int argc, char **argv)
inputfile = arg;
else
{
inputfile = arg;
else
{
- log (LOG_FATAL, "too many files specified\n");
+ logf (LOG_FATAL, "too many files specified\n");
exit (1);
}
}
exit (1);
}
}
@@
-53,12
+60,14
@@
int main (int argc, char **argv)
else if (ret == 'h')
{
fprintf (stderr, "usage:\n"
else if (ret == 'h')
{
fprintf (stderr, "usage:\n"
- " %s [-h] [-v n] [file]\n", prog);
+ " %s [-8] [-h] [-v n] [file]\n", prog);
exit (1);
}
exit (1);
}
+ else if (ret == '8')
+ use8 = 1;
else
{
else
{
- log (LOG_FATAL, "Unknown option '-%s'", arg);
+ logf (LOG_FATAL, "Unknown option '-%s'", arg);
exit (1);
}
}
exit (1);
}
}
@@
-67,7
+76,7
@@
int main (int argc, char **argv)
ipf = fopen (inputfile, "r");
if (!ipf)
{
ipf = fopen (inputfile, "r");
if (!ipf)
{
- log (LOG_FATAL|LOG_ERRNO, "cannot open '%s'", inputfile);
+ logf (LOG_FATAL|LOG_ERRNO, "cannot open '%s'", inputfile);
exit (1);
}
}
exit (1);
}
}
@@
-76,11
+85,14
@@
int main (int argc, char **argv)
char *ipf_ptr = ipf_buf;
for (;*ipf_ptr && *ipf_ptr != '\n';ipf_ptr++)
{
char *ipf_ptr = ipf_buf;
for (;*ipf_ptr && *ipf_ptr != '\n';ipf_ptr++)
{
- if (isalpha(*ipf_ptr) || *ipf_ptr == '_')
+ if ((use8 && *ipf_ptr<0)
+ || (*ipf_ptr > 0 && isalpha(*ipf_ptr))
+ || *ipf_ptr == '_')
{
int i = 1;
{
int i = 1;
- while (ipf_ptr[i] && (isalnum(ipf_ptr[i]) ||
- ipf_ptr[i] == '_'))
+ while (ipf_ptr[i] && ((use8 && ipf_ptr[i] < 0)
+ || (ipf_ptr[i]>0 && isalnum(ipf_ptr[i]))
+ || ipf_ptr[i] == '_'))
i++;
if (ipf_ptr[i])
ipf_ptr[i++] = '\0';
i++;
if (ipf_ptr[i])
ipf_ptr[i++] = '\0';