$OpenBSD: patch-plugins_symbol-db_symbol-db-engine-core_c,v 1.3 2012/08/12 20:43:42 jasper Exp $

Do not use shm_open() which OpenBSD lacks (from FreeBSD ports).

--- plugins/symbol-db/symbol-db-engine-core.c.orig	Sat Jul 28 11:42:41 2012
+++ plugins/symbol-db/symbol-db-engine-core.c	Sat Jul 28 16:52:53 2012
@@ -1069,7 +1069,7 @@ sdb_engine_ctags_output_thread (gpointer data, gpointe
 
 			/* found out a new marker */ 
 			marker_ptr = strstr (marker_ptr + len_marker, CTAGS_MARKER);
-		} while (remaining_chars + len_marker < len_chars || marker_ptr != NULL);
+		} while (remaining_chars > 0 || marker_ptr != NULL);
 	}
 	
 	SDB_UNLOCK(priv);
@@ -1517,8 +1517,8 @@ sdb_engine_scan_files_1 (SymbolDBEngine * dbe, const G
 		gint i = 0;
 		while (TRUE)
 		{
-			temp_file = g_strdup_printf ("/anjuta-%d_%ld%d.tags", getpid (),
-								 time (NULL), i++);
+			temp_file = g_strdup_printf ("%s/anjuta-%d_%ld%d.tags", SHARED_MEMORY_PREFIX, getpid (),
+								 (long) time (NULL), i++);
 			gchar *test;
 			test = g_strconcat (SHARED_MEMORY_PREFIX, temp_file, NULL);
 			if (g_file_test (test, G_FILE_TEST_EXISTS) == TRUE)
@@ -1538,12 +1538,12 @@ sdb_engine_scan_files_1 (SymbolDBEngine * dbe, const G
 		priv->shared_mem_str = temp_file;
 		
 		if ((priv->shared_mem_fd = 
-			 shm_open (temp_file, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR)) < 0)
+			 open (temp_file, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR)) < 0)
 		{
 			g_warning ("Error while trying to open a shared memory file. Be"
 					   "sure to have "SHARED_MEMORY_PREFIX" mounted with tmpfs");
 		}
-	
+
 		priv->shared_mem_file = fdopen (priv->shared_mem_fd, "a+b");
 
 		/* no need to free temp_file (alias shared_mem_str). It will be freed on plugin finalize */
@@ -2044,7 +2044,7 @@ sdb_engine_init (SymbolDBEngine * object)
 static void
 sdb_engine_unlink_shared_files (gpointer key, gpointer value, gpointer user_data)
 {
-	shm_unlink (key);
+	unlink (key);
 }
 
 static void 
@@ -2137,7 +2137,7 @@ sdb_engine_finalize (GObject * object)
 	
 	if (priv->shared_mem_str)
 	{
-		shm_unlink (priv->shared_mem_str);
+		unlink (priv->shared_mem_str);
 		g_free (priv->shared_mem_str);
 		priv->shared_mem_str = NULL;
 	}
@@ -5769,12 +5769,12 @@ symbol_db_engine_update_buffer_symbols (SymbolDBEngine
 		 * target buffer one */
 		base_filename = g_filename_display_basename (relative_path);
 		
-		shared_temp_file = g_strdup_printf ("/anjuta-%d-%ld-%s", getpid (),
-						 time (NULL), base_filename);
+		shared_temp_file = g_strdup_printf ("%s/anjuta-%d-%ld-%s", SHARED_MEMORY_PREFIX, getpid (),
+						 (long) time (NULL), base_filename);
 		g_free (base_filename);
 		
 		if ((buffer_mem_fd = 
-			 shm_open (shared_temp_file, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR)) < 0)
+			 open (shared_temp_file, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR)) < 0)
 		{
 			g_warning ("Error while trying to open a shared memory file. Be"
 					   "sure to have "SHARED_MEMORY_PREFIX" mounted with tmpfs");
