--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -654,9 +654,9 @@
   char string2[16];
 
   string=(char*)gtk_entry_get_text(GTK_ENTRY(lookup_widget(main_window, "register_address_entry")));
-  sscanf(string,"%llx",&offset);
+  sscanf(string,"%"PRIx64,&offset);
   string=(char*)gtk_entry_get_text(GTK_ENTRY(lookup_widget(main_window, "register_data_entry")));
-  sscanf(string,"%x",&value);
+  sscanf(string,"%"PRIx32,&value);
 
   switch(camera->register_offset) {
   case REGISTER_OFFSET_BASE:
@@ -717,7 +717,7 @@
   dc1394error_t err=DC1394_SUCCESS;
 
   string=(char*)gtk_entry_get_text(GTK_ENTRY(lookup_widget(main_window, "register_address_entry")));
-  sscanf(string,"%llx",&offset);
+  sscanf(string,"%"PRIx64,&offset);
 
   //fprintf(stderr,"0x%llx\n",offset);
 
@@ -761,7 +761,7 @@
   if (err!=DC1394_SUCCESS)
     sprintf(string2,"Error");
   else
-    sprintf(string2,"%08x",value);
+    sprintf(string2,"%08"PRIx32,value);
 
   gtk_entry_set_text(GTK_ENTRY(lookup_widget(main_window, "register_data_entry")),string2);
 }
@@ -899,7 +899,7 @@
   const char *camera_name_str =  "coriander/camera_names/";
   tmp=(char*)malloc(STRING_SIZE*sizeof(char));
   tmp_ptr=(char*)gtk_entry_get_text(GTK_ENTRY(lookup_widget(main_window, "camera_name_text")));
-  sprintf(tmp,"%s%llx",camera_name_str, camera->camera_info->guid);
+  sprintf(tmp,"%s%"PRIx64,camera_name_str, camera->camera_info->guid);
   gnome_config_set_string(tmp,tmp_ptr);
   gnome_config_sync();
   strcpy(camera->prefs.name,tmp_ptr);
--- a/src/preferences.c
+++ b/src/preferences.c
@@ -107,7 +107,7 @@
 
   //FIXME: update for multi-unit cameras
   tmp=(char*)malloc(STRING_SIZE*sizeof(char));
-  sprintf(tmp,"coriander/camera_names/%llx=%s %s",cam->camera_info->guid,
+  sprintf(tmp,"coriander/camera_names/%"PRIx64"=%s %s",cam->camera_info->guid,
 	  cam->camera_info->vendor, cam->camera_info->model);
   tmp_ptr=gnome_config_get_string(tmp);
   strcpy(cam->prefs.name,tmp_ptr);
