Update of /cvsroot/refdb/refdb/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30915
Modified Files:
Tag: Release_0_9_5_stable
refdbdnote.c
Log Message:
quoting fixes
Index: refdbdnote.c
===================================================================
RCS file: /cvsroot/refdb/refdb/src/refdbdnote.c,v
retrieving revision 1.25.2.11
retrieving revision 1.25.2.12
diff -u -U2 -r1.25.2.11 -r1.25.2.12
--- refdbdnote.c 23 Sep 2005 23:48:34 -0000 1.25.2.11
+++ refdbdnote.c 13 Oct 2005 21:18:23 -0000 1.25.2.12
@@ -2387,4 +2387,5 @@
char *newtoken;
char *quoted_token;
+ char *stripped_token;
char *eostring;
char note_val[256] = ""; /* note id or citation key value*/
@@ -2523,6 +2524,16 @@
token = nstrtok(buffer, &len, " ");
if (token != NULL) {
-/* printf("key:%s<<value:%s<<\n", field_buffer, quoted_token); */
- if (insert_liliform(&link_sentinel, field_buffer, token)) {
+/* printf("key:%s<<value:%s<<\n", field_buffer, token); */
+ quoted_token = malloc(strlen(token)+1);
+ if (!quoted_token) {
+ error = 1;
+ break;
+ }
+
+ stripped_token = strip_quote(token);
+
+ unescape_chars(quoted_token, stripped_token, strlen(stripped_token));
+/* printf("key:%s<<value:%s<<\n", field_buffer, quoted_token); */
+ if (insert_liliform(&link_sentinel, field_buffer, quoted_token)) {
error = 1;
break;
@@ -2534,4 +2545,5 @@
strncmp(token, ":NCK:", 5) == 0) {
+ /* there is no need to unescape/quote these */
strcpy(field_buffer, buffer);
field_buffer[5] = '\0'; /* terminate string */
@@ -2634,8 +2646,7 @@
/* add links */
if (!n_remove) {
+ /* function will quote ptr_curr->value */
result = insert_link(my_type, ptr_curr->value, conn, n_id);
- /* todo: fix output */
-
if (!result) { /* ok */
sprintf(assemble_buffer, "421:%s -> %s:%s\n", note_val, my_type, ptr_curr->value);
@@ -2651,4 +2662,6 @@
}
+/* free(ptr_curr->value); */
+
if ((new_buffer = mstrcat(return_msg, assemble_buffer, &return_msg_len, 0)) == NULL) {
send_status(ptr_clrequest->fd, 801, TERM_NO);
@@ -2775,5 +2788,5 @@
return_msg = new_buffer;
}
- }
+ } /* end if add */
} /* end while */
|